我发布了一些我在这里写的代码:http://ideone.com/2TrjcN包含在给定的输出中。 这是它的另一个副本:
#include <iostream>
using namespace std;
int Problem2(void);
int main()
{
int sum2 = Problem2();
cout << "sum2 is: " << sum2 << endl;
}
int Problem2 (void)
{
int sum = 0;
int isEvenPrev = 0;
int isEvenCurr = 2;
for (int i=3 ; i<20; i++)
{
// determine if i is even
if (i%2 == 0)
{
isEvenPrev = isEvenCurr;
isEvenCurr = i;
sum += (isEvenPrev + isEvenCurr);
cout << "isEvenPrev: " << isEvenPrev << cout << " isEvenCurr: " << isEvenCurr << " sum: "<< sum << endl;
}
}
return sum;
}
我对小算法很有信心,其目的是: &#34; Fibonacci序列中的每个新术语都是通过添加前两个术语生成的。从1和2开始,前10个术语将是:
1,2,3,5,8,13,21,34,55,89,......
通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和。 &#34;
isEvenPrev的值打印到看起来像指针的东西,但我所做的就是将已经是int的值设置为另一个已经是int的值。
有人可以告诉我可能出错的地方。 Fibonacci序列实际上是有效的,直到我得到非常大的值。总和变为负数。
答案 0 :(得分:5)
从此行中删除第二个cout
:
cout << "isEvenPrev: " << isEvenPrev << cout << " isEvenCurr: " << isEvenCurr << " sum: "<< sum << endl;