题目信息
有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?
题解
根据题目信息,每3个月起,每个月都生一只兔子,可以得到每个月的兔子数量列表如下
根据列表信息,图中黄色背景标注的为当月较前一个月(n-1)新增的兔子数量,这个数量正好是前n-2月的兔子数量。由此,推出当月兔子数量为前两个月兔子数量之和。当月兔子数量f(n) = f(n-1) + f(n-2),即可发现兔子总数列表实为一个斐波那契数列,1 1 2 3 5 8 13 ...
编码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CountRabbit {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.i