黑马程序员技术交流社区

标题: 编程题 [打印本页]

作者: 轩辕邵宇    时间: 2014-11-17 23:16
标题: 编程题
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?


作者: 天天小志    时间: 2014-11-17 23:23
这个……
作者: 王立腾    时间: 2014-11-17 23:47
class New1
{
        public static void main(String[]sgrs)
        {
                System.out.println(duiShu(10));
        }

        //定义一个duiShu方法,用来计算每月的对数。
        public static int duiShu(int n)
        {
                /*
                从兔子的前几个月对数分析规律。
                前两个月都为1.
                从第三月起,每月的对数等于该月的前两个月的对数和。
                所以有该月的对数=其前两个月的对数和,duiShu(n)==duiShu(n-1)+duiShu(n-2);
                */
                if(n==1||n==2)
                {
                        return 1;
                }else
                {
                        return duiShu(n-1)+duiShu(n-2);
                }
        }
}
作者: 轩辕邵宇    时间: 2014-11-17 23:48
王立腾 发表于 2014-11-17 23:47
class New1
{
        public static void main(String[]sgrs)

腾哥哥   太用功了把   
作者: 王立腾    时间: 2014-11-17 23:52
轩辕邵宇 发表于 2014-11-17 23:48
腾哥哥   太用功了把

你在逗我{:3_46:}
作者: hailong    时间: 2014-11-17 23:55
其实就是一个斐波那契数列,可以使用递归计算
  1. public class Test1 {
  2.         public static void main(String[] args) {
  3.                 System.out.println(getRabbit(12));
  4.         }
  5.         public static int getRabbit(int num){
  6.                 if(num == 1)
  7.                         return 1;
  8.                 if(num == 2)
  9.                         return 1;
  10.                 return getRabbit(num-1)+getRabbit(num-2);
  11.         }
  12. }
复制代码



作者: LiuWei1989    时间: 2014-11-18 00:00
1.public class TestOne {   
2.  
3.    public static void main(String[] args) {   
4.        int rabbitNum = 1;   
5.        for(int i = 1 ; i < 20 ; i++){   
6.            rabbitNum = getMonthNum(i);   
7.            System.out.println("兔子第   "+i+"  个月的总数为:"+rabbitNum);   
8.        }   
9.           
10.    }   
11.      
12.    public static int getMonthNum(int x){   
13.        int initRabbit = 1;   
14.           
15.        if(x == 1 || x == 2){   
16.            return initRabbit;   
17.        }   
18.           
19.        initRabbit = getMonthNum(x-1) + getMonthNum(x-2);   
20.           
21.        return initRabbit;   
22.    }   
23.}  
//我也找的 还在学基础  希望帮到你




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