circIe 发表于 2020-4-16 11:33:33

第一阶段考核斐波那契数列问题

请编写程序,找出斐波那契数列中数值不超过 4 百万的项,并计算这些项中值为偶数的项之和。
能不能使用for循环来解?
#include <stdio.h>
int main()
{
    long int a,b,c,sum;
    a=1;
    b=2;
    sum=0;
   
    for (;c<4000000;)
    {
      c=a+b;
      if (c%2==0)
      {
            sum = sum + c;
      }
      a=b;
      b=c;
    }

    printf("%ld\n", sum);

    return 0;
}
自己写的,求大神指点一下

qiuyouzhi 发表于 2020-4-16 11:40:31

只要结果正确,怎么写都可以。

liuzhengyuan 发表于 2020-4-16 11:42:14

你还可以把 前面的 a=1 , b=2 和循环里的 a=b, b=c; 加入 for

悠悠2264 发表于 2020-4-16 11:42:48

for和while是可以互换的,你这样写也可以。
还有sum应该把2也加上吧

circIe 发表于 2020-4-16 11:46:35

悠悠2264 发表于 2020-4-16 11:42
for和while是可以互换的,你这样写也可以。
还有sum应该把2也加上吧

之前的加上2了,撤销的时候把2也撤了,没注意。
怪不得结果一直不对

ba21 发表于 2020-4-16 11:52:27

for 改成while会好些吧。
2也是偶数。

circIe 发表于 2020-4-16 18:50:13

ba21 发表于 2020-4-16 11:52
for 改成while会好些吧。
2也是偶数。

嗯,是想打算用for写写,之前sum=2给撤销成0了。
页: [1]
查看完整版本: 第一阶段考核斐波那契数列问题