fork download
  1. #include <iostream>
  2. using namespace std;
  3. //Problema 2
  4. int fibonacci(int n); //declaración
  5. bool es_par(int n); //declaración
  6.  
  7. int main(int argc, char *argv[]) { //Main, grueso del código acá
  8.  
  9. int sumaTotal=0; //acumulador de elementos fibonacci pares.
  10. for(int i = 1;; i++){ //iteración
  11. if(fibonacci(i) < 4000000){ //condición que debe cumplirse
  12. if(es_par(fibonacci(i)))sumaTotal+=fibonacci(i);
  13. }else{
  14. break; //break: condición de corte.
  15. //Se abandona el bloque for
  16. }
  17. }
  18.  
  19. cout<<sumaTotal<<endl;
  20. return 0;
  21. }
  22.  
  23. bool es_par(int n){ //retorna:
  24. return (n%2 == 0); //true si es un numero par
  25. } //false en caso contrario
  26.  
  27. //Fibonacci se define como: [ F(n) = F(n-1) + F(n-2) ]
  28. int fibonacci(int n){ //Función recursiva
  29. if(n < 2){ //condición de corte n<2
  30. return 1;
  31. }else{
  32. return fibonacci(n-1) + fibonacci(n-2); //llamado a la recursividad.
  33. }
  34. }
  35.  
  36.  
Success #stdin #stdout 0.16s 3456KB
stdin
Standard input is empty
stdout
4613732