Python小程序(9)古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月又生一对兔子,假如兔子都不死问每个月的兔子

思路:*

月份 兔子数量/对
1 1
2 1
3 1+1=2
4 1+1 1=3
5 1+1 1 1+1=5
6 1+1 1+1+1 1+1 1+1=8

可以发现规律,当月兔子数量为前两个月相加,即:
f(n)=f(n-1)+f(n-2)
程序:

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

#mon=int(input('Please input a number:'))
mon=20
num_rabbits=[1,1]
for i in range(1,mon):
    temp=num_rabbits[i]+num_rabbits[i-1]
    num_rabbits.append(temp)
    print('第',i,'月,兔子有',num_rabbits[i-1],'对')


结果:
Python小程序(9)古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月又生一对兔子,假如兔子都不死问每个月的兔子_第1张图片

你可能感兴趣的:(Python小程序)