public class Demo {
public static void main(String[] args) {
//计算方式一:使用数组:
int[] intArray = new int[20];
intArray[0] = 1;
intArray[1] = 1;
for(int i = 2 ;i < intArray.length ; i++){
intArray[i] = intArray[i - 1] + intArray[i - 2];
}
System.out.println("第20个月,兔子总对数:" + intArray[intArray.length - 1]);
System.out.println("每月的兔子数:" + Arrays.toString(intArray));
//计算方式二:使用两个变量
int a = 1;
int b = 1;
//开始循环计算从第三个月开始到第20个月的兔子总数
for(int i = 3 ;i <= 20 ; i++){
int temp = a;
a = b;
b = temp + a;
}
System.out.println("使用两个变量,结果,b = " + b);
System.out.println("递归调用的结果:" + fib(20));
}
public static int fib(int month){//20
if(month == 1 || month == 2){
return 1;
}
return fib(month - 1) + fib(month - 2);
}
}
|
|