A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Poskey 中级黑马   /  2015-7-17 22:01  /  388 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
* 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
* 分析:
*                                 对数
*                 第一个月        1
*                 第二个月        1
*                 第三个月        2
*                 第四个月        3
*                 第五个月        5
* 通过分析我们得到这样的一个数列
*                 1,1,2,3,5,8,13,21,...
* 找什么?
*                 出口:第一项和第二项是已知的。
*                 规律:从第三项开始,每一项是前两项之和。
*/
public class DiGuiDemo3 {
        public static void main(String[] args) {
                System.out.println(fun(20));
        }

        /*
         * 返回值类型:int 参数列:int n 假设fun(n)表示第n个月的兔子对数。 请问,第n-1和第n-2个月的兔子分别是多少对?
         * fun(n-1) fun(n-2)
         */
        public static int fun(int n) {if (n == 1 || n == 2) {
                        return 1;
                } else {
                        return fun(n - 1) + fun(n - 2);
                }
        }
}

联想思考题:
需求:用递归求下列数列的第二十项的值:
1,1,2,4,7,13,24...
明天给答案

1 个回复

正序浏览
加油,明天吧答案直接发给你
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马