C 为什么我的Euler项目代码有缺陷?
我正在尝试euler项目问题2,以提高我的编程和解决问题的能力。然而,我被问题2困住了,我不确定我的代码到底出了什么问题。问题是: 斐波那契序列中的每个新项都是通过将前两项相加生成的。从1和2开始,前10个术语将是: 1、2、3、5、8、13、21、34、55、89 通过考虑Fibonacci序列中值不超过400万的项,求偶数值项之和 这是我试图解决的问题C 为什么我的Euler项目代码有缺陷?,c,C,我正在尝试euler项目问题2,以提高我的编程和解决问题的能力。然而,我被问题2困住了,我不确定我的代码到底出了什么问题。问题是: 斐波那契序列中的每个新项都是通过将前两项相加生成的。从1和2开始,前10个术语将是: 1、2、3、5、8、13、21、34、55、89 通过考虑Fibonacci序列中值不超过400万的项,求偶数值项之和 这是我试图解决的问题 #define MAX 4000000 int main() { int num1=1, num2=1, temp, sum;
#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);
}
#定义最大4000000
int main()
{
int num1=1,num2=1,温度,总和;
while(num1
您没有初始化sum=0
如果num1
接近极限,sum
必然更大
num1
num2
,因此检查num1
的大小有点毫无意义
出于调试目的,在每次循环迭代期间打印num1
、num1
和sum
请阅读以下内容:我在复制粘贴代码时忘记了包含宏。我很抱歉。也请阅读以下内容:这篇文章是关于C的,但其中几乎所有内容都适用于C。特别是关于整数算术的部分。你很幸运,你没有让独角兽在你的屏幕上跳跃。上次调用undefin时,我就遇到了这种情况ed Behavior.#1似乎是个问题。当我运行他的代码时,sum被初始化为32767