题目
一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第m个月的兔子总数为多少?
题目分析:
每个月的兔子对数:1,1,2,3,5,8,13,21……
看规律,即是斐波那契数列。
代码:
# 题目:
# 古典问题:
# 有一对兔子,从出生后第3个月起每个月都生一对兔子,
# 小兔子长到第三个月后每个月又生一对兔子,
# 假如兔子都不死,问第m个月的兔子总数为多少?
def r_sum(n):
if n == 1 or n == 2:
return 1
else:
return r_sum(n-1) + r_sum(n-2)
m = int(input("请输入月数:"))
print("第 %d 个月有 %d 对兔子" % (m, r_sum(m)))
运行结果: