zoukankan      html  css  js  c++  java
  • 递归二:求老鼠生孩子问题

    有一对老鼠,它每一个月产一对小老鼠,小老鼠在3个月后成年,又将生产小老鼠。 问3年后,总共会有多少只老鼠,不计老鼠死亡  
    第1个月后情况:
        有成年鼠:1对                    新生的老鼠:1对
        有一个月大的老鼠:0对            二个月大的老鼠:0对
        第1月后共有老鼠:2对
    第2个月后情况:
        有成年鼠:1对                    新生的老鼠:1对
        有一个月大的老鼠:1对            二个月大的老鼠:0对
        第2月后共有老鼠:3对
    第3个月后情况:
        有成年鼠:1对                    新生的老鼠:1对
        有一个月大的老鼠:1对            二个月大的老鼠:1对
        第3月后共有老鼠:4对
    第4个月后情况:
        有成年鼠:2对                    新生的老鼠:2对
        有一个月大的老鼠:1对            二个月大的老鼠:1对
        第4月后共有老鼠:6对
    第5个月后情况:
        有成年鼠:3对                    新生的老鼠:3对
        有一个月大的老鼠:2对            二个月大的老鼠:1对
        第5月后共有老鼠:9对
    第6个月后情况:
        有成年鼠:4对                    新生的老鼠:4对
        有一个月大的老鼠:3对            二个月大的老鼠:2对
        第6月后共有老鼠:13对
    第7个月后情况:
        有成年鼠:6对                    新生的老鼠:6对
        有一个月大的老鼠:4对            二个月大的老鼠:3对
        第7月后共有老鼠:19对
    第8个月后情况:
        有成年鼠:9对                    新生的老鼠:9对
        有一个月大的老鼠:6对            二个月大的老鼠:4对
        第8月后共有老鼠:28对
    第9个月后情况:
        有成年鼠:13对                   新生的老鼠:13对
        有一个月大的老鼠:9对            二个月大的老鼠:6对
        第9月后共有老鼠:41对
    第10个月后情况:
        有成年鼠:19对                   新生的老鼠:19对
        有一个月大的老鼠:13对           二个月大的老鼠:9对
        第10月后共有老鼠:60对
    第11个月后情况:
        有成年鼠:28对                   新生的老鼠:28对
        有一个月大的老鼠:19对           二个月大的老鼠:13对
        第11月后共有老鼠:88对
    第12个月后情况:
        有成年鼠:41对                   新生的老鼠:41对
        有一个月大的老鼠:28对           二个月大的老鼠:19对
        第12月后共有老鼠:129对
    第13个月后情况:
        有成年鼠:60对                   新生的老鼠:60对
        有一个月大的老鼠:41对           二个月大的老鼠:28对
        第13月后共有老鼠:189对
    第14个月后情况:
        有成年鼠:88对                   新生的老鼠:88对
        有一个月大的老鼠:60对           二个月大的老鼠:41对
        第14月后共有老鼠:277对
    第15个月后情况:
        有成年鼠:129对                  新生的老鼠:129对
        有一个月大的老鼠:88对           二个月大的老鼠:60对
        第15月后共有老鼠:406对
    第16个月后情况:
        有成年鼠:189对                  新生的老鼠:189对
        有一个月大的老鼠:129对          二个月大的老鼠:88对
        第16月后共有老鼠:595对
    第17个月后情况:
        有成年鼠:277对                  新生的老鼠:277对
        有一个月大的老鼠:189对          二个月大的老鼠:129对
        第17月后共有老鼠:872对
    第18个月后情况:
        有成年鼠:406对                  新生的老鼠:406对
        有一个月大的老鼠:277对          二个月大的老鼠:189对
        第18月后共有老鼠:1278对
    第19个月后情况:
        有成年鼠:595对                  新生的老鼠:595对
        有一个月大的老鼠:406对          二个月大的老鼠:277对
        第19月后共有老鼠:1873对
    第20个月后情况:
        有成年鼠:872对                  新生的老鼠:872对
        有一个月大的老鼠:595对          二个月大的老鼠:406对
        第20月后共有老鼠:2745对
    第21个月后情况:
        有成年鼠:1278对                 新生的老鼠:1278对
        有一个月大的老鼠:872对          二个月大的老鼠:595对
        第21月后共有老鼠:4023对
    第22个月后情况:
        有成年鼠:1873对                 新生的老鼠:1873对
        有一个月大的老鼠:1278对         二个月大的老鼠:872对
        第22月后共有老鼠:5896对
    第23个月后情况:
        有成年鼠:2745对                 新生的老鼠:2745对
        有一个月大的老鼠:1873对         二个月大的老鼠:1278对
        第23月后共有老鼠:8641对
    第24个月后情况:
        有成年鼠:4023对                 新生的老鼠:4023对
        有一个月大的老鼠:2745对         二个月大的老鼠:1873对
        第24月后共有老鼠:12664对
    第25个月后情况:
        有成年鼠:5896对                 新生的老鼠:5896对
        有一个月大的老鼠:4023对         二个月大的老鼠:2745对
        第25月后共有老鼠:18560对
    第26个月后情况:
        有成年鼠:8641对                 新生的老鼠:8641对
        有一个月大的老鼠:5896对         二个月大的老鼠:4023对
        第26月后共有老鼠:27201对
    第27个月后情况:
        有成年鼠:12664对                        新生的老鼠:12664对
        有一个月大的老鼠:8641对         二个月大的老鼠:5896对
        第27月后共有老鼠:39865对
    第28个月后情况:
        有成年鼠:18560对                        新生的老鼠:18560对
        有一个月大的老鼠:12664对                二个月大的老鼠:8641对
        第28月后共有老鼠:58425对
    第29个月后情况:
        有成年鼠:27201对                        新生的老鼠:27201对
        有一个月大的老鼠:18560对                二个月大的老鼠:12664对
        第29月后共有老鼠:85626对
    第30个月后情况:
        有成年鼠:39865对                        新生的老鼠:39865对
        有一个月大的老鼠:27201对                二个月大的老鼠:18560对
        第30月后共有老鼠:125491对
    第31个月后情况:
        有成年鼠:58425对                        新生的老鼠:58425对
        有一个月大的老鼠:39865对                二个月大的老鼠:27201对
        第31月后共有老鼠:183916对
    第32个月后情况:
        有成年鼠:85626对                        新生的老鼠:85626对
        有一个月大的老鼠:58425对                二个月大的老鼠:39865对
        第32月后共有老鼠:269542对
    第33个月后情况:
        有成年鼠:125491对                       新生的老鼠:125491对
        有一个月大的老鼠:85626对                二个月大的老鼠:58425对
        第33月后共有老鼠:395033对
    第34个月后情况:
        有成年鼠:183916对                       新生的老鼠:183916对
        有一个月大的老鼠:125491对               二个月大的老鼠:85626对
        第34月后共有老鼠:578949对
    第35个月后情况:
        有成年鼠:269542对                       新生的老鼠:269542对
        有一个月大的老鼠:183916对               二个月大的老鼠:125491对
        第35月后共有老鼠:848491对
    第36个月后情况:
        有成年鼠:395033对                       新生的老鼠:395033对
        有一个月大的老鼠:269542对               二个月大的老鼠:183916对
        第36月后共有老鼠:1243524对
    分析:这个问题用循环做可能时间会用得久一点,但是也很好做,不过用递归做明显会更加简单,只要找到后面一个数跟前面数之间的联系就行了,这个问题其实最难之处就是找规律了,只要规律找到了写代码就只是顺手拈来的事情了。
    public class Test {
    private static int sum;
    public static void main(String[] args) {
    System.out.println(fibonacci(36));
    }
    private static int fibonacci(int i) {
    if(i==0)
    sum = 2;
    if(i==1)
    sum = 2;
    if(i==2)
    sum = 3;
    if(i==3)
    sum = 4;
    if(i==4)
    sum = 6;
    if(i>=5)
    sum = fibonacci(i-2)+fibonacci(i-3)+fibonacci(i-4);
    return sum;
    }
    }
  • 相关阅读:
    Python循环语句
    Python判断语句
    MySQL的基本操作汇总
    Python函数、类
    Python字典、集合
    Python列表、元组
    python数据类型--数字、字符串
    Python基础认识
    搭建Python独立虚拟环境
    Python包管理工具
  • 原文地址:https://www.cnblogs.com/Oraice/p/5161577.html
Copyright © 2011-2022 走看看