miniArce 发表于 2020-10-4 16:00:00

请编写程序,找出斐波那契数列中数值不超过 4 百万的项,并计算这些项中值为偶数的...

本帖最后由 miniArce 于 2020-10-4 16:04 编辑

题目:1. 请编写程序,找出斐波那契数列中数值不超过 4 百万的项,并计算这些项中值为偶数的项之和。斐波那契数列中,从第三项开始,每一项被定义为前两项的数字之和。
从 1 和 2 开始,斐波那契数列的前 10 项应该是这样:1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

我的代码如下,无法被编译运行,是逻辑错误还是代码错误
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int mian()
{
        long long i,sum=0;
        for(i=1;i<4000000;i++){
                if(i%2==0){
                        sum+=i;
                }
        }
        printf("sum=%d",sum);
        return 0;
}

Jacksturdy 发表于 2020-10-4 16:44:02

你的int main()打成int mian了

巴巴鲁 发表于 2020-10-4 17:01:17

你再读读题吧,理解一下

嘉岳呀 发表于 2020-10-4 17:27:37

把int main打成int mian了

我第一次也是找不着int mian问题

miniArce 发表于 2020-10-4 18:51:13

大意了,对不起大家{:10_277:}

miniArce 发表于 2020-10-4 18:52:38

Jacksturdy 发表于 2020-10-4 16:44
你的int main()打成int mian了

谢谢

一抹心尘 发表于 2020-10-5 14:36:40

楼主,应该是mian拼写   main 才是   正确的

不完美小孩 发表于 2020-10-5 17:01:39

1

乐乐学编程 发表于 2020-10-6 21:59:11

400百万项,好大

心驰神往 发表于 2020-10-7 15:51:27

{:5_109:}

B站在读研究生 发表于 2021-8-11 10:28:31

程序是求的四百万之内偶数和吧

B站在读研究生 发表于 2021-8-11 10:41:32

#include <stdio.h>
#include <math.h>

#define MM 4000000

void main()
{
        long int x = 1, y = 2, z;
        long int sum = 2;

        while (x <= MM)
        {
                z = x + y;
                if (z <= MM && z % 2 == 0)
                {
                        sum += z;
                }

                x = y + z;
                if (x <= MM && x % 2 == 0)
                {
                        sum += x;
                }

                y = z + x;
                if (y <= MM && y % 2 == 0)
                {
                        sum += y;
                }

        }

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

sdsdsdd 发表于 2021-8-20 16:34:46

这个逻辑不对吧

小李当家 发表于 2024-2-28 21:13:21

逻辑我看着也不是很对吧
页: [1]
查看完整版本: 请编写程序,找出斐波那契数列中数值不超过 4 百万的项,并计算这些项中值为偶数的...