【发布时间】:2018-09-30 00:00:34
【问题描述】:
这是问题:
斐波那契数列中的每个新项都是通过添加 前两期。从 1 和 2 开始,前 10 个术语将 是:1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 通过考虑 值不超过四百万的斐波那契数列,求 偶数项的总和。
当我运行下面的程序时,它给了我
-1833689714
有人可以帮我写代码吗?
================================================ ==========================
#include <iostream>
using namespace std;
int fibona (int k);
int first = 0 , second = 1 , fibo = 0, sum = 0;
int main()
{
cout << "Sum of even values less than 4000000 : " ;
fibona (4000000);
}
int fibona (int k)
{
for (int c = 0 ; c < k ; c++)
{
if (c <= 1)
{
fibo = c;
}
else
{
fibo = first + second;
first = second;
second = fibo;
}
if (fibo % 2 == 0)
{
sum += fibo;
}
}
cout << sum <<endl;
}
【问题讨论】:
-
“斐波那契数列中值不超过四百万的项”与前四百万项不同。
-
你的函数没有返回任何东西,为什么会编译?
-
@EduardRostoyman 我带了一个 cout
-
它是一个 cout,而不是一个 return
-
例如,“不超过 10 的词”将是“1,2,3,5,8”。但是“前 10 个术语”将是“1, 2, 3, 5, 8, 13, 21, 34, 55, 89”。看出区别了吗?