Problem 2 ---- euler

本文介绍了一个关于斐波那契数列的问题:在不超过400万的数列项中,找出所有偶数值项的和。通过非递归的方式实现,使用C语言编程并提供了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Even Fibonacci numbers
Problem 2
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.
斐波那契数列中每一个新的项都是前两个项的和。从1和2开始,前10个项是:
1,2,3,5,8,13,21,34,55,89,...

考虑斐波那契数列的项不超过400万,求所有偶数项的和。


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
        int N;
        scanf("%d", &N);
        int fibona = 2, fibona_1 = 1, fibona_2 = 2, sum = 0;
        while(fibona < N ) 
        {   
                if(fibona % 2 == 0) sum += fibona;
                fibona = fibona_1 + fibona_2;
                fibona_1 = fibona_2;
                fibona_2 = fibona;
        }   

        printf("%d \n", sum);
        return 0;
}

此题重点在于斐波那契数列,教材上一般都拿这个数列来说明递归,但是设置两个中间变量可以避免递归,在实际应用中一般都会避免递归。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值