Java编程_兔子对数

来源:互联网 发布:unity3d怎么导入场景 编辑:程序博客网 时间:2024/06/07 09:07

题目:古典问题:有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月的时候又生了了一对兔子。假设兔子都没有死亡,求每个月的总对数?


分析
提示:假设一对幼崽在1月出生,那么在2月的时候它们已经成为成年兔子,然后到了3月该兔子便会生下一对它们自己心爱的幼崽。

实际月份 1月 2月 3月 4月 5月 6月 7月 8月 9月 *月 幼崽对数 1 0 1 1 2 3 5 8 13 等于前一个月成年兔子的对数 成年兔子对数 0 1 1 2 3 5 8 13 21 等于前一个月幼崽的对数加上前一个月成年兔子的对数 总对数 1 1 2 3 5 8 13 21 34 等于当月的幼崽的对数加上成年兔子的对数

通过分析总对数的数据发现,当月份大于等于3月时,该月份中兔子的总对数为前两个月总对数之和;当月份为1月或者2月的时候兔子的总对数为1。其实该数列就是一个斐波那契数列

代码

public class test {    public int showTotal(int month){        int total;        if(month<=0){            System.out.println("输入的月份有误");            return -1;        }else{            if(month ==1||month==2){                return 1;            }else{                //递归调用                total = showTotal(month -1)+showTotal(month -2);                return total;            }        }    }    public static void main(String[] args) {        test t1 = new test();        int month = 12;//查看到最大的月份,这里设置为查看到第12月的时候兔子的对数        for(int i = 1;i<=month;i++){            int total = t1.showTotal(i);            System.out.println("当前的月份是:"+i+"   该月份中兔子的总对数是:"+total);        }    }}

运行结果
这里写图片描述

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 qq注销了后绑定的全民k歌怎么办 小米账号绑定的手机号注销了怎么办 微信账号注销后绑定的手机号怎么办 微信账号不想用了注销不了怎么办 苹果手机掉了捡到不还怎么办 在工作中把和别人结下梁子了怎么办 在阿里巴巴上买的货物没发货怎么办 做了下颌角一边脸反复肿怎么办 玩广东11选5输50万怎么办 玩广东11选5输了十几万怎么办 新办公楼装修好就要搬进去怎么办 oppo手机上的黄页删了怎么办 小米不小心把手机联系人删了怎么办 58同城小区名输不了怎么办 e路发注册直接有积分怎么办 大众速腾的不锈钢圈被碰花了怎么办 公司卡着生育险不给怎么办 济南图书馆借书超过期限了怎么办 淘宝解绑支付宝支付密码不对怎么办 微博支付宝支付密码忘记了怎么办 图虫签约师通过了认证标识怎么办 签证做假工作证明资料被拒怎么办 在广州办个建设厅电工证怎么办 水利考的五大员证到有效期怎么办 额头注射玻尿酸吸收后不平怎么办 施工员证书挂靠拿不回来怎么办 森林公安未转政法编制的人员怎么办 北京的限行新政策外地车怎么办 报考二级建造师工作年限不够怎么办 郑州航院图书馆密码忘了怎么办 无锡妇幼预约挂号过号了怎么办 云南建筑八大员考试没通过怎么办 订车ax7一个月提不到车怎么办 提车时间到了却没车怎么办 一汽大众速腾气囊灯亮该怎么办呢? 幼儿园上课时候电脑上的课件怎么办 黑米紫薯红豆粥不好煮怎么办 母狗生了小狗后不吃东西没奶怎么办 狗给扑倒了主人不想负责怎么办 山东政务网个人中心账号忘了怎么办 网易博客忘记登入名和密码了怎么办