Este es el programa:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int suma, f1,f2,f3;
suma=2;
f1=1;
f2=1;
do
{
f3=f1+f2;
if (f3<2500)
{
if (f3%5 !=0) suma += f3;
f1=f2;
f2=f3;
}
}
while (f3<2500);
cout <<suma<<endl;
cout << "Press the enter key to continue ...";
cin.get();
return EXIT_SUCCESS;
}
La respuesta es 3510
Habría otras formas de hacerlo, pero me ha salido así. Supongo que sabes que la sucesión de Fibonacci es
1, 1, 2, 3, 5, 8, 13, 21,...
Cada termino es la suma de los dos anteriores
En f1 y f2 se guardan los anteriores para crear el siguiente f3 y después se reajustan copiando f2 y f3 a f1 y f2. Si el f3 nuevo es menor de 2500 y no es múltiplo de 5 se suma.
Y eso es todo, si quieres alguna explicación más me la pides.