递归算法问题: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不会死。问: 第20个月的兔子总对数为多少?(提示:先分析兔子的增长规律)

递归算法问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不会死。问: 第20个月的兔子总对数为多少?(提示:先分析兔子的增长规律)

代码:

package main; import java.util.Scanner; public class Works { public static void main(String[] args) { System.out.println("请输入月份:"); Scanner scanner = new Scanner(System.in); int m = scanner.nextInt(); int rabbit = rabbit(m); System.out.println("第" + m + "个月的兔子数目为: " + rabbit); } public static int rabbit(int mouth) { if (mouth == 1 || mouth == 2) { return 1; } // 上一个月的兔子数 int rabbit1 = rabbit(mouth - 1); // 上一个月的前一个月兔子数 int rabbit2 = rabbit(mouth - 2); return rabbit1 + rabbit2; } }

结果:

《递归算法问题: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不会死。问: 第20个月的兔子总对数为多少?(提示:先分析兔子的增长规律)》

    原文作者:递归算法
    原文地址: https://blog.csdn.net/benxiaohai888/article/details/76551361
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞