Проблема:числа Фибоначчи Даже в C, головоломке
Каждый новый член в последовательности Фибоначчи генерируется путем сложения двух предыдущих терминов. Начиная с 1 и 2, первые 10 условия будут:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Рассматривая условия в последовательность Фибоначчи, значения которой не превышают четырех миллионов, найдет сумму четных членов.
Я искал другой способ сделать это, но я смущен, почему мой метод не работает. Я включил код, а также мой написанный алгоритмический процесс под ним. Независимо от того, какой диапазон итераций значения k выбирает (4000000 или 10), я всегда получаю тот же ответ: 4200784. Спасибо за помощь.
#include <stdio.h>
int main()
{
long int sum;
sum = 0;
long int i;
i = 1;
long int j;
j = 2;
long int k;
while(k<4000000)
{
k = i + j;
if(k%2==0)
sum +=k;
i = j;
j = k;
}
printf("%d",sum);
return 0;
}
//Step 0//For the initial conditions [i][j]=[1][2]
//Step 1//Find the value of i + j.
//Step 2//Find out if the solution is even by dividing by modulus 2.
//Step 3//If even, add the solution to the sum.
//Step 4//Replace the value of i with j, and replace the value of j with the new sum.
//Repeat Steps 1-4 while i + j < 4,000,000
//1, 2, 3, 5, 8, 13, 21, 34
Вы действительно имеете в виду 'i + j == k;'? – teppic
ну, 'sum' не инициализируется, и вы никогда не назначаете ему –
@teppic Я в замешательстве. Разве это не то, что у меня есть? –