一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?
输入格式:
输入在一行中给出一个不超过10000的正整数N。
输出格式:
在一行中输出兔子总数达到N最少需要的月数。
写这道题我的第一反应以为是三个月才能长大生下一对兔子,按这个逻辑得到的数列是1,1,2,3,4,5,7,后面的我都不知道是多少,更不能写出通项公式,后来看答案是斐波那契数列,对应的递推式为后一项为前两项的和,思来想去,如果是三个月才繁殖一代,也得不到斐波那契数列,最后上网查了一下才知道兔子数列中的兔子是两个月就长大了,回去重新看了一百年题目,才发现题目里是长到第三个月也就是两个月就能长大,再按照这个逻辑去列了一下,得到的数列为1,1,2,3,5,8,13,验证后项确实是前两项和。
感觉真的很佩服发现兔子数列的数学家,偶然之中能找出这样的关系。但还是反思自己没都清楚题意就开始做,费了很多时间,发现了个已经存在的规律,真的是又气又笑,希望这篇博客能够帮助和我一样对这道题有着同样困惑的刷题人。