古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…
程序代码
def f(n):
if n==1:
return [1]
if n==2:
return [1,1]
f = [1, 1]
for i in range(2, n):
f.append(f[-1]+f[-2])
return f
li = f(n)
print(f(n))
out=0
# for i in range (0,n):
# out += li[i]
# #out += f[i]
# print(out)
for i in range(len(f(n))):
out = out +li[i]
result = 2*out
print(result)
代码结果: