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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wuyingtong 中级黑马   /  2015-5-7 15:06  /  576 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

10 个回复

倒序浏览

  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.         }
复制代码
回复 使用道具 举报

请问 i<=24 控制什么??
回复 使用道具 举报

控制的是月份,24各月份也就是一年
回复 使用道具 举报
ReadCode 发表于 2015-5-7 17:16
控制的是月份,24各月份也就是一年

一年有24个月吗???{:2_30:}
回复 使用道具 举报
对数是什么,不是很清楚
回复 使用道具 举报
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. }


复制代码
回复 使用道具 举报
控制的是月份,24各月份也就是一年
回复 使用道具 举报
呵呵呵!24个月
回复 使用道具 举报
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]);
                        }
               
                }

        }
}
回复 使用道具 举报
好好看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马