MATLAB--190717--欧拉计划(二)


本人为MATLAB小菜鸟,本博客作为阶段学习的小总结,欢迎大家学习交流!
题目二
在这里插入图片描述
费波拉契数列的核心思想是从第三项起每一项是前两项的和,题目有两个条件,首先能够找到不超过400万的最大斐波拉契数,再将其中的偶斐波拉契数求和。
思路
可以通过while循环找到最大的那个斐波拉契数,我觉着while循环最大的好处就在于不需要给出具体的值的范围作为判断条件,再通过rem(x,y)或者mod(x,y)找出偶数项,最后加在一起就可以了。
代码块
方法一(求出偶数项斐波拉契数列的和并输出此时的项数n和f(n))

clear;
f(1)=1;
f(2)=2;
n=2;sum=2;
while (f(n)<=4000000)
            n=n+1;
        f(n)=f(n-1)+f(n-2);
      if(mod(f(n),2)==0)
        sum=sum+f(n);
      end
end
sum
n=n-1;
fprintf('最大的n和f(n)的值:\nf(%d)=%d\n',n,f(n));

方法二(求出偶数项斐波拉契数列的和并输出此时的最后一项f(n))

clear;
a=1;
b=1;
c=0;
sum=0;
while(c<=4000000)
       if(rem(c,2)==0)
        sum=sum+c;
       end
     c=a+b;
     a=b;
     b=c;
end
sum
c=a;
fprintf('最大的c的值:\nfibbonicci=%d',c);

答案
sum=4613732
最后,欢迎大家批评指正,一起交流!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摸鱼王子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值