问题描述:
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
解析:
这个题看似很简单,但要注意对问题的分析,才能得出解答。
刚开始想的是用一个变量记录月数,不过这样就要为每个兔子给一个单独的记录,而且会很混乱,因为兔子的种类很多,刚出生的一个月的两个月的,就比较难以处理。
建议如果分析问题思路不清晰的话可以先把数量变化写出来观察,会有惊喜的发现。一般来说,数量变化是很有规律的,可以直接找寻数字内蕴含的规律。
兔子数量变化为1,1,2,3,5,8,13……符合斐波那契数列。
数学yyds!
代码:
f1=1
f2=1
for i in range(1,15):
print('%12d %12d' % (f1,f2),end=' ')
if i%3==0:
print('')
f1=f1+f2
f2=f1+f2