Talk is cheap, show me the code.
一、问题描述
有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?
/**
* 统计出兔子总数。
*
* @param monthCount 第几个月
* @return 兔子总数
*/
public static int getTotalCount(int monthCount)
{
return 0;
}
输入描述:
输入int型表示month
输出描述:
输出兔子总数int型
输入例子:
9
输出例子:
34
二、问题分析
这个题目比较有意思,这是典型的斐波那契数列问题。然而一下可能看不出是这个问题,就算不用斐波那契数列也是可以解决这个问题的,只要弄清楚了逻辑。
思路一:
假设刚出生的兔子数为 m, 出生后第二个月的兔子数为 n, 出生后第三个月的兔子数为 t;
初始的时候 m = 1, n = 0, t = 0;
第 i 个月的时候:
t(i) = t(i-1) + n(i-