Treść zadania:
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.
Mój kod źródłowy, działa ale wynik jest błędny:
#include <iostream>
using namespace std;
int main()
{
long double fib[100000];
fib[0]=1;
fib[1]=2;
int i=2;
for (int i;i<999999;i++)
{
fib[i]=fib[i-1]+fib[i-2];
}
if (fib[i]<=4000000 && i%2==0)
{
long suma;
suma += fib[i];
cout<<suma;
}
return 0;
}
Jakieś wskazówki? Dopiero się uczę tablic, próbowałem robić różne przekształcenia, ale za każdym razem wynik jest błędny. Nie potrafię jeszcze odróżnić jak się dostać do konkretnego indeksu w tablicy, a jak do konkretnej danej (w tym przypadku chodzi o dane mniejsze/równe 4000000). Może ktoś potrafi wyjaśnić to prostym językiem?