斐波那契数列:1 1 2 3 5 8 13 21 34 ...
观察规律可知,从第三个数开始,当前数为前两个数的和,实现方法如下:
方法1:递归实现(最简便)
def getRabbits(n): if n == 1 or n == 2: return 1 else: return getRabbits(n-1) + getRabbits(n-2) print(getRabbits(8)) # 21
方法2: 非递归实现
def getRabbits2(n): a = b = 1 res = 0 i = 3 for i in range(3,n+1): res = a + b a = b b = res return res; print(getRabbits2(10)) #55