有只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。
分析:记f(n)为跳n阶台阶的跳法种数,显然f(1)=1,f(2)=2。例如,青蛙要调到第4台阶,只有两种情况:第一种,从第3台阶跳到第4台阶。第二种,从第2台阶跳到4第台阶。那么可得到f(4)=f(3)+f(2),很显然,这是一个斐波那契数列,递推关系为f(n)=f(n-1)+f(n-2)。
代码:
def forg_jump(n):
if n == 1:
return 1
if n == 2:
return 2
else:
return forg_jump(n - 1) + forg_jump(n - 2)
while True:
num = int(input("Pls input: "))
print(forg_jump(num))