Sumatoria de los numeros pares dentro de la serie Fibonacci
Este es el problema 2 del proyecto Euler, su enunciado es así:
Problem 2:Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.
El problema es acerca de obtener la sumatoria de todos los números pares que se encuentren en la serie Fibonacci que estén por debajo de los cuatro millones.
Primero empecemos con el código mas simple en C/ C++ utilizando modulos:
int limite= 4000000; int suma=0; int a=1; int b=1; while( b < limite ){ if ( b % 2 == 0){ suma +=b; }// fin if int c= a+b; a = b; b= c; }//fin while printf(“%d”, suma);
Al ejecutar el algoritmo se obtiene por respuesta: 4613732;
La otra forma para poder programar este algoritmo es tomando en cuenta que cada tres numeros de la secuencia Fibonacci son pares, ejemplo:
1 1 2 3 5 8 13 21 34 55 89 144…
int limite= 4000000; int suma=0; int a=1; int b=1; int c= a+b; while ( c < limite) { suma += c; a = b+c; b = c+a; c= a+b; }//fin while printf(“%d”, suma)
Ahorita con el codigo anterior tenemos un algoritmo que ejecuta menos ciclos para hallar la sumatoria.
No hay comentarios:
Publicar un comentario