当前位置: 代码迷 >> 综合 >> 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死, 问每个月的兔子对数为多少?
  详细解决方案

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死, 问每个月的兔子对数为多少?

热度:56   发布时间:2023-10-27 09:59:56.0

思路分析:

  月份          兔子数                  说明

  1      1(对)            从开始有一对兔子

  2      1

  3      1+1       原本有一对  从第三个月开始 生了一对 一共是两对兔子

  4      1+1+1      生了第二对

  5      1+1+1+1+1   生了第三对兔子   同时3月生的第一对兔子又生了一对

  6      5+3=8

  兔子数目序列: 1 1 2 3 5 8 .。。。。。。。。。

  总结出规律:前两项之和就是第三项

  所以:第n个月的兔子数目为:f(n)=f(n-1)+f(n-2)

import java.util.Scanner;

public class P15 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入第几个月:");
        int month = sc.nextInt();
        System.out.println("第" + month + "个月,兔子的总数为:" + fun(month));
    }
    private static int fun(int month) {
        if((1 == month)||(2 == month))
            return 1;
        else
            return (fun(month-1) + fun(month-2));
    }
}

  相关解决方案