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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shixinhua 中级黑马   /  2016-2-14 15:59  /  1647 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

import java.util.Scanner;                                                 //导包

class tuiziwenti {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);        //创建输入对象

                System.out.println("你要查询第几个月份:");
                int n = sc.nextInt();                                             //输入要查询的月份

                int count = 0;                                                            //统计兔子数量

                if (n < 0){
                        System.out.println("你输入的月份有误"); //判断月份输入是否正确
                }else if (n ==1 || n == 2){                 //前两个月份兔子对数为1
                        count = 1;
                        System.out.println(count);
                }else if (n == 3){                                                        //第三个月份兔子对数为2
                        count = 2;
                }else{                                                                                //第四个月份开始,本月兔子对数为前两个月兔子对数的和
                    int[] arr = new int[n-1];               //创建数组
                    for (int i =2;i <= arr.length-1;i++){   //arr[0]代表第二个月的兔子数量
                                arr[0] = 1;
                                arr[1] = 2;                                                        //arr[1]代表第三个月的兔子数量
                                arr[i] = arr[i-1] + arr[i-2];                //统计第N个月的兔子数量
                                count = arr[i];
                        }
                }
                System.out.println("对应月份小兔子的对数为:");
                System.out.println("count = " + count);                //打印兔子的数量
        }
}

4 个回复

倒序浏览
第三个月和ELSE重复了
回复 使用道具 举报
是哒是哒,可以归到一起去
回复 使用道具 举报
厉害厉害
回复 使用道具 举报
好屌,厉害厉害。。。。。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马