问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
分析:
3月的数量=2月的数量+1月的数量
4月的数量=3月的数量+2月的数量
...........
代码实现
public static void main(String[] args) {int now_1 = 1;//当前-1int now = 1;//当前int nows;int m = 5;//月份if(m<=2){System.out.println(now);return;}for(int i=3;i<=m;i++ ){nows = now;//此刻now变为now_1,用nows记录now = now_1 + now;//f(n) = f(n-1)+f(n-2)now_1 = nows; //重新赋值now_1}System.out.println(now);for(int i = 1;i<=m;i++){System.out.println(i+"月:"+fib(i));}}/*** 递归算法* @param month* @return*/public static int fib(int month){if(month == 1 || month == 2){return 1;}else{return fib(month-1)+fib(month-2);}}