求助,用递归求解斐波拉契数列 求和

Python 3 教程
Python 使用递归斐波那契数列
以下代码使用递归的方式来生成斐波那契数列:
# Filename : test.py
# author by :
def recur_fibo(n):
"""递归函数
输出斐波那契数列"""
if n &= 1:
return(recur_fibo(n-1) + recur_fibo(n-2))
# 获取用户输入
nterms = int(input("您要输出几项? "))
# 检查输入的数字是否正确
if nterms &= 0:
print("输入正数")
print("斐波那契数列:")
for i in range(nterms):
print(recur_fibo(i))
执行以上代码输出结果为:
您要输出几项? 10
斐波那契数列:
反馈内容(*必填)
截图标记颜色
联系方式(邮箱)
联系邮箱:
投稿页面:
记住登录状态
重复输入密码问说网 / 蜀ICP备号
感谢您对问说网的支持,提出您在使用过程中遇到的问题或宝贵建议,您的反馈对我们产品的完善有很大帮助。
您的反馈我们已收到!
感谢您提供的宝贵意见,我们会在1-2个工作日,通过您留下的联系方式将处理结果反馈给您!10329人阅读
递归学习(7)
斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、……
在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n&=2,n∈N*)
问题:输入 n,求斐波那契数列第n个数
解法:递归
Fn=F(n-1)+F(n-2) 像这种类型的表达式,序列中的每一个元素都由先前的元素来确定,这种序列被称为递归关系
有了递归分解式,还需简单情景进行结束递归。
简单情景:
观察可知,当n & 3&时,每项的值为前两项之和。即当n = 1 和 n = 2 时分别取值为0、1
递归跳跃的信任
由于题目较简单,实现细节较易就能看出,未能突出体现出递归跳跃的信任的重要性
#include &iostream&
int fibonacci(int n)
if (n == 0) return
if (n == 1) return
fibonacci(n - 1) + fibonacci(n - 2);
int main()
cout && fibonacci(6) &&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:329483次
积分:3124
积分:3124
排名:第8990名
原创:104篇
转载:12篇
评论:52条回复次数:3
(va_zaixuexi)
#1楼 得分:0回复于: 11:08:17
.model small&
main proc far& start:&
xor ax,ax&
mov ax,24&
call Fibonacci&
main endp&
Fibonacci proc near&
mov bp,sp&
add sp,-4&
mov cx,[bp+4]&
ja recursive&
ret 2& recursive:&
mov word ptr[bp-4],cx&
call Fibonacci&
mov word ptr[bp-2],ax&
call Fibonacci&
add ax,word ptr[bp-2]&
mov cx,word ptr[bp-4]&
Fibonacci endp&
end start& 测试数据& Fibonacci(24) = 46368
发表评论:
TA的最新馆藏

我要回帖

更多关于 主方法求解递归式 的文章

 

随机推荐