题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
通过分析可以发现大兔子的总和和小兔子的总和增长满足斐波那契数列,并且当月大兔子的数量是上个月小兔子的数量,也就是说是斐波那契数列的当前项和上一项的和,即小兔子本月的数量加上上月的数量
#大兔子0 0 1 1 2 3 5 8
#小兔子1 1 1 2 3 5 8 13
n=int(input())
def f(num):
if num==1 or num==2:
return 1
else:
return f(num-1)+f(num-2)
if n<=2:#前两个月1只小兔子
print('1')
elif n==3:
print('2')
elif n>3:#第四个月开始小兔子的数量相当于斐波那契数列的第三项
print(f(n-1)+f(n-2))