永发信息网

如何用递归解决斐波那契数列

答案:2  悬赏:0  手机版
解决时间 2021-03-19 05:54
  • 提问者网友:龅牙恐龙妹
  • 2021-03-18 22:23
如何用递归解决斐波那契数列
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-03-18 23:32
斐波那契数列定义 f(1)=1, f(2)=1, f(n)=f(n-1)+f(n-2)用递归的方法解决是最快的(对设计者而言)int fipo(int n){
if (n==1) return 1;
else if (n==2) return 1;
else {
return fipo(n-1)+fipo(n-2);
}
}
函数fipo 会一直不断地调用自己,直到 n=3时, 才能计算出 f(3)=f(2)+f(1)=2. 然后在一步一步退回展开 f(4)=f(3)+f(2)=2+1=3, f(5)=f(4)+f(3)=3+2=5,... 一直返回到第一次调用自己(递归)的地方,这样算出f(n)的值
全部回答
  • 1楼网友:上分大魔王
  • 2021-03-19 00:23
斐波那契数列的发明者,是意大利数学家列昂纳多·斐波那契. 斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、…… 下面是前1000项斐波那契数列的和的vb代码: private sub command1_click() dim a as integer dim b as integer dim c as integer dim s as long dim i as integer a = 1 b = 1 s = 2 for i = 3 to 1000 c = a + b s = s + c a = b b = c next i print s end sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯