Sequência de Fibonacci – Algoritmo C/C++


A sequência de Fibonacci é dada pela seguinte ordem [latex] Fibonacci = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 . . .[/latex]. O algoritmo para o cálculo do enésimo elemento é dado por: [latex] N = N – 1 + N – 2 [/latex], ou seja, o enésimo elemento é igual à soma dos dois dois elementos anteriores a ele, por exemplo:
Dada a sequência de Fibonnaci [latex] 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55. . .[/latex] calcule o 3º elemento da sequência:
Sempre levamos em consideração o valor dos dois primeiros termos, tais que [latex]X = 0[/latex] (primeiro elemento) e [latex]Z = 1[/latex]. Então o terceiro elemento da sequência será igual à soma dos dois elementos anteriores, nesse caso [latex] N = X + Z [/latex], [latex]N = 0 + 1 [/latex], [latex]N = 1[/latex].
Progrma em linguagem C que calcula o enésimo termo da sequência de Fibonacci:
#includelong int fibonacci(int n); void main() { //Sequencia fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55.. int n; printf ("Escolha a posicao: "); scanf("%d", &n); printf("Posicao %d da sequencia de fibonnaci: %d", n, fibonacci(n)); } long fibonacci(int n) { int cont; long int x = 0, z = 1; if(n % 2 == 0) { for(cont = 2; cont != n; cont = cont + 2) { x = x + z; z = x + z; } return z; } else { for(cont = 1; cont != n; cont = cont + 2) { x = x + z; z = x + z; } return x; } }