La sucesión de Fibonacci se da en el siguiente orden [latex] Fibonacci = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 . . .[/latex]. El algoritmo para calcular el enésimo elemento viene dado por: [latex] N = N – 1 + N – 2 [/latex], es decir, el enésimo elemento es igual a la suma de los dos elementos que le preceden, por ejemplo:
Dada la secuencia de Fibonnaci [latex] 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55. . .[/latex] calcular el 3er elemento de la secuencia:
Siempre tenemos en cuenta el valor de los dos primeros términos, de forma que [latex]X = 0[/latex] (primer elemento) y [latex]Z = 1[/latex]. Entonces el tercer elemento de la secuencia será igual a la suma de los dos elementos anteriores, en cuyo caso [latex] N = X + Z [/latex], [latex]N = 0 + 1 [/latex], [latex]N[/latex]= 1.
Programa en lenguaje C que calcula el enésimo término de la sucesión de Fibonacci:
#includelong int fibonacci(int n); void main() { //Secuencia de Fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55... int n; printf ("Elegir posición: "); scanf("%d", &n); printf("Posición %d de la secuencia 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; } devolver z; } si no { for(cont = 1; cont != n; cont = cont + 2) { x = x + z; z = x + z; } devolver x; } }