1 问题
编写一个Java程序,解决以下问题:
2 方法
public class boke2 {
public static void main(String[] args) {
System.out.println("请输入月份:");
Scanner s = new Scanner(System.in);
int n = s.nextInt();
System.out.println("总数:"+"\n"+f(n));
}
public static int f(int n){
if (n!=1&&n!=2){
if (n!=3){
return f(n-1)+f(n-2);
}
return 2;
}
else return 1;
}
}
3 结语
针对古典问题,首先先通过分析,可以发现此问题的突破口在三个月之后,第一个月和第二个月都是1,从第三个月开始计算第一次出生的兔子数,看出当月份为n时,兔子的对数为前两个之和,所以设对数为f(n),通过编程证明了该方法是有效的,本文的方法只是其中一种,未来可以研究出更多更简洁的方法进行实验。