题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
1.第一种算法:递归
import java.util.Scanner;
public class Fibonaccine {
public static void main(String[] args) {
//获取输入的月数
System.out.println("请输入要计算的月数");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
//输出总的数量
System.out.println("第" + n + "个月的兔子数量为" + total(n) + "个");
}
private static int total(int n) {
//判断输入为1或2则直接返回1
if (n == 1 || n == 2) {
return 1;
//统计大于2时兔子的数量并返回
} else {
return total(n - 2) + total(n - 1);
}
}
}