黑马程序员技术交流社区

标题: 每天一题 [打印本页]

作者: 胡成成    时间: 2016-3-10 13:21
标题: 每天一题
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
public class Prog1{
        public static void main(String[] args){
                int n = 10;
[size=10.5000pt]        [size=10.5000pt]        System.out.println(""+n+"个月兔子总数为"+fun(n));
        }
        private static int fun(int n){
                if(n==1 || n==2)
                   return 1;
                else
                   return fun(n-1)+fun(n-2);
        }
}


作者: 陈俊洁    时间: 2016-3-10 13:23

作者: 胡成成    时间: 2016-3-10 17:34
陈俊洁 发表于 2016-3-10 13:23

{:3_46:}{:3_46:}{:3_54:}
作者: 走走停停0306    时间: 2016-3-12 00:31

作者: 就是我    时间: 2016-3-12 08:50
递归算,不错
当年(第n年)的兔子数量f(n),等于前一年的兔子量(fun(n-1))再加上两年前出生的兔子数量(两年前的兔子算到今年已出生3年,所以要生相同与自身对数的兔子)f(n-2)。除去第一年和第二年,没兔子出生,其余的fun(n)=f(n-1)+f(n-2)
作者: yunfeng482    时间: 2016-3-12 12:30
斐波那契数列的,用递归,用非递归都可以求。
作者: 胡成成    时间: 2016-3-12 21:08
走走停停0306 发表于 2016-3-12 00:31

{:3_46:}{:3_48:}
作者: 胡成成    时间: 2016-3-12 21:10
就是我 发表于 2016-3-12 08:50
递归算,不错
当年(第n年)的兔子数量f(n),等于前一年的兔子量(fun(n-1))再加上两年前出生的兔子数 ...

恩恩,就是
作者: 胡成成    时间: 2016-3-12 21:18
yunfeng482 发表于 2016-3-12 12:30
斐波那契数列的,用递归,用非递归都可以求。

正在学习中
作者: 叫我超哥    时间: 2016-3-13 17:18
看后5小时
嗷.............
还是不懂没看到这一块





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2