O programa a seguir calcula e exibe um elemento da sequência Fibonacci. O programa foi construído sem o uso de recursividade.
O que deixa o código um pouco menos elegante, mas evita certas limitações da recursão frente à valores muito altos.
//================================================================ // Descricao: O programa calcula e mostra o enésimo termo // da sequência Fibonacci sem uso de recursividade. //================================================================ // Bibliotecas #include <stdio.h> #include <stdlib.h> // Protótipo da função fibonacci int fibonacci(int n); // Função Principal int main(int argc, char** argv) { int n; // Lê a posição do termo printf("Digite a posicao: "); scanf("%d", &n); // Imprime o termo printf("O termo: %d\n", fibonacci(n)); system("pause"); return 0; } // Função Fibonacci int fibonacci(int n) { int anterior = 0, proximo = 1, aux, i; // Se for o primeiro número da lista if(n == 1) { return 0; // Se for o segundo número da lista } else if(n == 2) { return 1; // Se for um número a partir da terceira posição } else { // Calcula os valores dois a dois até chegar na posição requerida for(i = 3; i <= n; i++) { aux = proximo; proximo = anterior + proximo; anterior = aux; } return proximo; } }