兔子增长序列(内测第1届第3题)
题目要求
问题描述:刚出生的兔子,长到第三个月开始(忽略月份大小)就可以繁殖下一代。假如1月1日抱来一公一母两只兔子,那么3月1日时,就会生出第一代兔子,并且正好也是一公一母。假设兔子没有死亡,每代兔子都可以正常繁殖下一代,那么计算抱来一对兔子第N月时,兔子的总量是多少对。(刚抱来算第一个月)
样例输入1:抱来兔子的第N月:1
样例输出1:当期兔子总量(对):1
样例输入2:抱来兔子的第N月:2
样例输出2:当期兔子总量(对):1
样例输入3:抱来兔子的第N月:3
样例输出3:当期兔子总量(对):2
样例输入4:抱来兔子的第N月:5
样例输出4:当期兔子总量(对):5
解决方案
可以先画图找出抱来兔子后每个月的兔子数量规律:
观察可知,从第三月开始,每个月的兔子总量等于前两个月的兔子总量之和,由此,便很容易确定其可以用斐波那契数列的思路来解决。
源码示例 & 结果展示
分别展示递归和递推的源码:
小结
重视斐波那契数列的应用。