Acciones

Ejercicio 2: Sumar la sucesión de los n primeros términos de la sucesión de Fibonacci cuyo valor no exceda la cifra 4000000

De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)

Revisión del 15:38 22 abr 2011 de Aida (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)

Enunciado: Cada término perteneciente a la sucesión de Fibonacci se genera mediante la suma de los dos términos anteriores. Sabiendo que los dos primeros términos son el 0 y el 1, los 10 primeros términos de la sucesión tienen la siguiente forma:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34...

Teniendo en cuenta los términos de la sucesión de Fibonacci cuyos valores no exceden los cuatro millones, calcular la suma de dichos términos.


Solución:

En primer lugar, definimos la sucesión de Fibonacci. Para ello, definimos los valores de los dos primeros términos y, luego, definimos el término general de la sucesión:

   (%i1) fib1[0]:0;
   (%i2) fib1[1]:1;
   (%i3) fib1[n] := fib1[n-1]+fib1[n-2];

Definimos, de igual forma, la variable suma con valor inicial 0, en la que iremos almacenando la suma de los términos de la sucesión.

   (%i4) suma:0;

Y, por último, escribimos un bucle que se repetirá hasta que el valor del término de la sucesión sea mayor que 4000000, y que irá sumando dichos términos mientras que cumpla la condición indicada con anterioridad:

   (%i5) for n:1 while fib1[n]<=4000000 do sum:sum + fib1[n]; sum;

El resultado que obtenemos es:

   (%o5) 9227464

Siendo 9227464 la suma de los n primeros términos de la sucesión de Fibonacci, cuyo valor no excede los 4000000.