public class hello{
public static void main(String[] args){
int n=5;
System.out.println("第"+n+"个月的兔子总数是"+funs(n));
}
private static int funs(int n){
if(n==1||n==2)
return 1;
else
return funs(n-1)+funs(n-2);
}
}
public class hell {
public static void main(String[] args){
int n=6;
System.out.println("第"+n+"个月的兔子总数是"+funs(n,"入口"));
}
private static int funs(int n,String s){
System.out.println("初始化的n的值="+n);
System.out.println("n值来源="+s);
if(n==1||n==2) {
return 1;
}else {
int i=funs(n-1,"第一次计算");
int i1=funs(n-2,"第二二二次计算");
System.out.println("///*************///");
System.out.println("n-1结果="+i);
System.out.println("///*************///");
System.out.println("n-2结果="+i1);
return i+i1;
}
}
}
初始化的n的值=6
n值来源=入口
初始化的n的值=5
n值来源=第一次计算
初始化的n的值=4
n值来源=第一次计算
初始化的n的值=3
n值来源=第一次计算
初始化的n的值=2
n值来源=第一次计算
初始化的n的值=1
n值来源=第二二二次计算
///*************///
n-1结果=1
///*************///
n-2结果=1
初始化的n的值=2
n值来源=第二二二次计算
///*************///
n-1结果=2
///*************///
n-2结果=1
初始化的n的值=3
n值来源=第二二二次计算
初始化的n的值=2
n值来源=第一次计算
初始化的n的值=1
n值来源=第二二二次计算
///*************///
n-1结果=1
///*************///
n-2结果=1
///*************///
n-1结果=3
///*************///
n-2结果=2
初始化的n的值=4
n值来源=第二二二次计算
初始化的n的值=3
n值来源=第一次计算
初始化的n的值=2
n值来源=第一次计算
初始化的n的值=1
n值来源=第二二二次计算
///*************///
n-1结果=1
///*************///
n-2结果=1
初始化的n的值=2
n值来源=第二二二次计算
///*************///
n-1结果=2
///*************///
n-2结果=1
///*************///
n-1结果=5
///*************///
n-2结果=3
第6个月的兔子总数是8
这样的话可能相对好理解点 但是还是不太清楚
n=1 结果为1 n=2 结果为1 n=3 结果为2 n=4 结果为3 n=5 结果为5
请问如何理解n的结果呢? 我求大神讲解