斐波那契数列-python

本文探讨了使用递归与迭代方法在数列计算中的效率问题,通过斐波那契数列和青蛙跳台阶问题的具体实现,对比了两种方法的优劣,并提出了一种改进的跳跃问题解决方案。

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

#使用递归来计算会造成比较多的重复运算,效率较低
#输入一个n,得到数列的第n项
def fib(n):
	result1 = [0,1]
	if n<2:
		return result1[n]
	fib1 = 0 
	fib2 = 1
	fibn = 0
	for i in range(2,n+1):
		fibn = fib1+fib2
		fib1 = fib2
		fib2 = fibn
	return fibn
#print('斐波那契数列',fib(6))

#类似:青蛙跳台阶问题-一只青蛙一次可以跳上一级台阶,也可以跳上两级台阶,求跳一个n阶的有多少种跳法
#分析:n>2,①第一次跳1级,后面是n-1;②第一次跳2级,后面是n-2. f(n) = f(n-1)+f(n-2)
def leap(n):
	if n <= 2:
		return n
	a = 1
	b = 2
	for i in range(3,n+1):
		a,b = b,a+b
	return b
#print('有',leap(4),'种跳法')
#修改条件,一次可跳一阶,也可以二阶,也可以三阶,也可以跳n阶,跳上一个n阶有多少种跳法	f = 2^n-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值