Java有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
阅读原文时间:2023年08月18日阅读:1

代码如下:

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入需要查询的月份:");
        int month = scanner.nextInt();

        int [] arr = new int [month+1];
        arr[0] = 1;
        arr[1] = 1;
        System.out.println("第1个月的兔子有1对,总数是2");
        System.out.println("第2个月的兔子有1对,总数是2");

        for(int i =2;i<month;i++) {
            arr[i] = arr[i-1] + arr[i-2];
            System.out.println("第" + (i+1) + "个月的兔子有" + arr[i] + "对, 总数是" + arr[i]*2);
        }
    }

运行结果:

思路:就是需要理清3月后每个月兔子的对数,以此发现规律。
还可以使用递归的方法进行遍历输出也是一样的,这里给出核心代码
    //斐波那契兔子递归
    public static int  tu(int num) {
        if (num==1 || num ==2) {
            return 1;
        }else {
            return tu(num-1)+tu(num-2);
        }
    }