黑马程序员技术交流社区

标题: 不死神兔的问题,问问用java程序大神们怎么做 [打印本页]

作者: 煤男纸    时间: 2016-10-12 22:41
标题: 不死神兔的问题,问问用java程序大神们怎么做
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?


作者: Daveweil    时间: 2016-10-13 08:19
找规律,前两个月的和,是第三个月的值

作者: 煤男纸    时间: 2016-10-13 12:23
Daveweil 发表于 2016-10-13 08:19
找规律,前两个月的和,是第三个月的值

不知道咋编程

作者: Daveweil    时间: 2016-10-13 22:45
煤男纸 发表于 2016-10-13 12:23
不知道咋编程

一种是数组的做法,一种是递归,反正都一样,你定义数组的长度为你要的长度,然后数组的0.1位置存1,第三个位置存arr【3】=arr【3-1】+arr【3-2】

作者: star皆空    时间: 2016-10-14 12:34
好高大上的样子

作者: wgc    时间: 2016-10-16 23:57
好厉害的样子   大神们赶紧来

作者: 琼华掌教    时间: 2016-10-16 23:58

老司机热衷分析,很棒
作者: jinjinjin    时间: 2016-10-17 00:38
本帖最后由 jinjinjin 于 2016-10-17 00:40 编辑

public class Test {
        public static void main(String[] args) {
                // fun(3)是第五个月的,以后依次类推  fun(4) 第六个月.......
                System.out.println(fun(2));
        }
        public static int fun(int i){
                if(i==1){
                        return 1;
                }else{
                        return i+fun(i)*(1/3);
                }
        }
}

可以看看,看这样写对不对
作者: yyl010    时间: 2016-10-17 08:56
这是一个递归问题,主要在于分析
作者: zhuangshuang123    时间: 2016-10-17 09:27
用递归做简单

作者: yyl010    时间: 2016-10-17 09:37
      //建一个数组存储每个月兔子数
        int[] arr = new int [12];
                arr[0]=1; //第一个月兔子数
                arr[1]=1; //第二个月兔子数
                for (int i = 2; i < arr.length; i++) {
                        arr[i]=arr[i-1]+arr[i-2];  //前两个月兔子数之和是后一个月的兔子数
                }
                System.out.println(arr[arr.length-1]);
                }
作者: Checkming    时间: 2016-10-27 22:48
不死神兔(阶乘)

作者: Checkming    时间: 2016-10-27 23:11
不死神兔其实就是递归
如: 8=8!
     8=8*7*6*5*4*3*2*1
      = 8*7!
     ..........
代码如下:

   public class Text1 {
        public static void main(String [] args) {
        // 1  1  2  3  5  8   13  21
      int num = getNum(5);          //5的阶乘
      System.out.println(num);
     }
    public static int getNum(int num)  {
          if(num == 1  ||  num == 2) {
                return  1;
          }
}
}
  




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