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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

2 个回复

倒序浏览
package array;

import java.util.Scanner;

public class Demo {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入月份");
                int month=sc.nextInt();
                System.out.println("第"+month+"月的兔子数量是"+rabbitCount(month));
                System.out.println("--------------------");
                for(int a=1;a<13;a++){
                        System.out.println("第"+a+"月的兔子数量是"+rabbitCount(a));
                }
        }
        /*思路:新生兔子要过两个月之后才能生新兔子,因此最开始前两个月没有兔子出生,两个月之后,每个月
         *                 的兔子数量应该是前一个月的兔子数量加上这个月能生新兔子的兔子数量,这个月能生的兔子中
         *     年龄最小的兔子就是两个月前出生的兔子,所以这个月能生新兔子的兔子数量就是两个月前的兔
         *     子数量.
         */   
        public static int rabbitCount(int month){
                if(month==1||month==2){
                        return 1;
                }
                else{
                        return (rabbitCount(month-1)+rabbitCount(month-2));
                }
        }
}
回复 使用道具 举报
运行结果:
请输入月份
5
第5月的兔子数量是5
--------------------
第1月的兔子数量是1
第2月的兔子数量是1
第3月的兔子数量是2
第4月的兔子数量是3
第5月的兔子数量是5
第6月的兔子数量是8
第7月的兔子数量是13
第8月的兔子数量是21
第9月的兔子数量是34
第10月的兔子数量是55
第11月的兔子数量是89
第12月的兔子数量是144


QQ截图20160703160915.png (15.67 KB, 下载次数: 1)

QQ截图20160703160915.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马