古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,每个月的兔子总数为多少?

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,每个月的兔子总数为多少?

思路:
一月:1对
二月:1对
三月:2对
四月:3对
五月:5对
六月:8对
典型的斐波那契数列,用递归就很容易写出来啦!
代码如下:

n=int(input("please enter the nmonthly number: "))
sum=1
def aa(n):
    if n==1 or n==2:
        return sum
    if n>=3:
        return aa(n-2)+aa(n-1)
for i in range(1,n+1):
    print(aa(i),end=" ")
print("")
print("sum is ",aa(n))

运行结果:

please enter the nmonthly number: 6
1 1 2 3 5 8 
sum is  8

猜你喜欢

转载自blog.csdn.net/weixin_44797539/article/details/104190882