当前位置: 代码迷 >> 综合 >> 算法-斐波那契数列-兔子问题
  详细解决方案

算法-斐波那契数列-兔子问题

热度:87   发布时间:2023-11-01 03:29:05.0

问题:

有一对兔子,从出生后第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);}}

 

  相关解决方案