你家有1对兔子,一公一母,不考虑近亲结婚,第三个月开始每个月会生一对兔子,
所生的兔子和之前兔子相同属性,请问第20个月多少对兔子?
def rabbit(n):
if n < 3:
return 1
return rabbit(n-1) + rabbit(n-2)
rabbit(20)
6765
n = int(input('请输入月数:'))
if n == 1 or n == 2:
print('第%d个月有%d对兔子' % (n, 1))
else:
i = j = 1
for x in range(n - 3):
i, j = j, i + j
print('第%d个月有%d对兔子' % (n, (i + j)))
我是这么写的,不知道对不对:
total = 1
def birth(month):
if month<3:
return
for month in range(1, month+1):
if month < 3:
continue
else:
global total
total += 1
birth(month-1)
birth(20)
print(total)