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;
    }
    }
  • 相关阅读:
    Eclipse 导入项目乱码问题(中文乱码)
    sql中视图视图的作用
    Java基础-super关键字与this关键字
    Android LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot)的参数理解
    Android View和ViewGroup
    工厂方法模式(java 设计模式)
    设计模式(java) 单例模式 单例类
    eclipse乱码解决方法
    No resource found that matches the given name 'Theme.AppCompat.Light 的完美解决方案
    【转】使用 Eclipse 调试 Java 程序的 10 个技巧
  • 原文地址:https://www.cnblogs.com/Oraice/p/5161577.html
Copyright © 2011-2022 走看看