求大神解释一下这个古典问题,兔子数量是如何计算的

public class _1 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
Scanner sc=new Scanner (System.in);
System.out.println("请输入你想知道的兔子数量的月份");
int n=sc.nextInt();
System.out.println("第"+n+"个月兔子的总数为"+fun(n));
sc.close();//关闭输入流
 }
 private static int fun(int n){
  if(n==1||n==2)
   return 1;
  else
   return fun(n-1)+fun(n-2);
 }

}
/**古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
 * 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
 * 问每个月的兔子对数为多少?
 * 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....
          做这种题目,最好的做法就是找出规律,跟高中的数列一样
          本题有:a[n]=a[n-1]+a[n-1],而第一第二项都知道了,
          后面的值也可以求得
 */

//这个题是真的不会看都看不明白

qq_好吧_9
浏览 1089回答 1
1回答

羽.

递归老题
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java