【发布时间】:2015-01-22 18:33:18
【问题描述】:
我正在尝试欧拉项目问题 2,以提高我的编程和解决问题的能力。但是,我被困在问题 2 中,我不确定我的代码出了什么问题。问题来了:
斐波那契数列中的每个新项都是通过添加前两项来生成的。从 1 和 2 开始,前 10 个术语将是:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
通过考虑斐波那契数列中值不超过四百万的项,求偶数项之和。
这是我对解决方案的尝试。
#define MAX 4000000
int main()
{
int num1=1, num2=1, temp, sum;
while(num1<MAX || num2<MAX)
{
temp=num1+num2;
num1=num2;
num2=temp;
if(temp%2==0)
sum += temp;
}
printf("Sum= %d", sum);
}
我得到的输出(这是错误的)是
总和= 9212508
【问题讨论】:
-
复制粘贴代码时忘记包含宏。我很抱歉。
-
另请阅读:devproconnections.com/development/… 这篇文章是关于 C#,但其中几乎所有内容也适用于 C。特别是阅读整数运算部分。
-
你很幸运,你没有让独角兽在你的屏幕上跳来跳去。上次我调用未定义的行为时发生在我身上。
标签: c