黑马程序员技术交流社区

标题: 兔子怎么玩 [打印本页]

作者: wuyingtong    时间: 2015-5-7 15:06
标题: 兔子怎么玩
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
作者: ReadCode    时间: 2015-5-7 16:44

  1. /*
  2. 整体思路其实就是for循环,第一个月1,第二个月1,第三个月2,第四个月3,第五个月就是5了,可以看出下个月就是前两个月兔子之和
  3. */
  4. class Deno{
  5.         public static void main(String[]args)
  6.         {
  7.                 int m=1;
  8.                 //定义变量,通过在内存中数据的覆值操作
  9.                 int n=1;
  10.                 int sum=0;
  11.                 //通过不停的改变内存的变量的值
  12.                 for(int i=1;i<=24;i++)
  13.                 {
  14.                  
  15.                         n=m;       
  16.                         m=sum;
  17.                         sum=m+n;
  18.                         System.out.println("每个月兔子的数量:"+sum);
  19.                        
  20.                 }
  21.                
  22.                 }
  23.                
  24.         }
复制代码

作者: wuyingtong    时间: 2015-5-7 17:03
ReadCode 发表于 2015-5-7 16:44

请问 i<=24 控制什么??
作者: ReadCode    时间: 2015-5-7 17:16
wuyingtong 发表于 2015-5-7 17:03
请问 i

控制的是月份,24各月份也就是一年
作者: wuyingtong    时间: 2015-5-7 17:19
ReadCode 发表于 2015-5-7 17:16
控制的是月份,24各月份也就是一年

一年有24个月吗???{:2_30:}
作者: brouse    时间: 2015-5-7 17:21
对数是什么,不是很清楚
作者: ReadCode    时间: 2015-5-7 17:22
wuyingtong 发表于 2015-5-7 17:19
一年有24个月吗???

哈哈,说错了,在给说一种方法吧,采用数组的形式


  1. class Demo1{
  2.         public static void main(String[]args)
  3.         {
  4.                 int arr[]=new int [12];
  5.                 //数组中创建12个元素,表示12个月份
  6.                 arr[0]=arr[1]=1;
  7.                 for(int i=0;i<12;i++)
  8.                         //数组中的脚标是从0开始的
  9.                 {
  10.                         if(i==0||i==1)
  11.                         {
  12.                                 System.out.println("第"+(i+1)+"月的兔子数量:1");
  13.                         }
  14.                         else
  15.                         {
  16.                                 arr[i]=arr[i-1]+arr[i-2];
  17.                                 System.out.println("第"+(i+1)+"月的兔子数量:"+arr[i]);
  18.                         }
  19.                
  20.                 }

  21.         }
  22. }


复制代码

作者: 少说话,多做事    时间: 2015-5-7 20:42
控制的是月份,24各月份也就是一年
作者: LPStone    时间: 2015-5-7 20:58
呵呵呵!24个月
作者: 彭越    时间: 2015-5-7 21:05
class Demo1{
        public static void main(String[]args)
        {
                int arr[]=new int [12];
                //数组中创建12个元素,表示12个月份
                arr[0]=arr[1]=1;
                for(int i=0;i<12;i++)
                        //数组中的脚标是从0开始的
                {
                        if(i==0||i==1)
                        {
                                System.out.println("第"+(i+1)+"月的兔子数量:1");
                        }
                        else
                        {
                                arr[i]=arr[i-1]+arr[i-2];
                                System.out.println("第"+(i+1)+"月的兔子数量:"+arr[i]);
                        }
               
                }

        }
}
作者: 代码搬运1号    时间: 2015-5-7 22:30
好好看看




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