大裤衩子 发表于 2020-2-5 21:44:26

课后题:找出斐波那契数列中数值不超过 4 百万的项,并计算这些项中值为偶数的项之...

我的答案不对,但是也找不到逻辑错误在哪里,代码很短就直接贴图了。

求指点,谢谢!


大裤衩子 发表于 2020-2-5 21:50:46

我找到问题了,c<4000000改成b<4000000 就正确了{:10_266:}

努力努力再努力a 发表于 2020-2-6 09:31:11

#include <stdio.h>
//斐波那契数列,后一项是前两项之和,从1和2开始;
int main()
{
        long long int i=1, j=3, n=0, sum=0;
       
        while (n < 4000001)
        {
                        n = i + j;
                        i = j;
                        j = n;
                if (j%2==0)
                {
                                sum += j;
               }
       }
        printf("斐波那契数列中数值不超过 4 百万的项为:%d \n",i);
        printf("这些项中值为偶数的项之和为:%d\n",sum);
       
        return 0;
}
这是我写的
循环结束后,C最后得出的数是大于4百万的,需要取前一项b来作为输出;

召唤风云 发表于 2020-2-6 10:06:33

最后一项偶数没有加上去。
页: [1]
查看完整版本: 课后题:找出斐波那契数列中数值不超过 4 百万的项,并计算这些项中值为偶数的项之...