Java经典for循环题目:兔子繁殖问题
问题:
将一对刚出生的兔子关在围墙里,已知一对兔子每个月可以生一对小兔子,每对兔子从出生后两个月(进入青年可每月生一对)每月生一对小兔子。
*问一年后生了多少?
分析:
月份 幼年 青年 青年 青年 青年 青年 青年 ... 对
1月 2 1
2 2 1=1+0
3 2 2 2=1+1
4 2 2 2 3=2+1
5 4 2 2 2 5=3+2
6 6 4 2 2 2 8=5+3
7 10 6 4 2 2 2 13 ...
8 16 10 6 4 2 2 21
9 26 16 10 6 4 2 2 34
10 42 26 16 10 6 4 2 2 55
11 68 42 26 16 10 6 4 2 2 89
12 178 68 42 26 16 10 6 4 2 2 144
经过以上分析,刚出生的排在表格的最前面,
并且出生的数量是:上一行去掉幼年的总和(因为只有上一行的青年才可以生)
将每一行的数量加起来除以二就是兔子的对数,对数符合斐波那契数列:
下一个数,等于前两个数相加,所以利用此规律进行循环相加,代码如下:
/**
*将一对刚出生的兔子关在围墙里,已知一对兔子每个月可以生一对小兔子,每对兔子从出生后两个月(进入青年可每月生一对)每月生一对小兔子。
*问一年后生了多少?
*//* 月份 幼年 青年 青年 青年 青年 青年 青年 ... 对1月 2 12 2 1=1+03 2 2 2=1+14 2 2 2 3=2+15 4 2 2 2 5=3+26 6 4 2 2 2 8=5+37 10 6 4 2 2 2 13 ...8 16 10 6 4 2 2 219 26 16 10 6 4 2 2 3410 42 26 16 10 6 4 2 2 5511 68 42 26 16 10 6 4 2 2 89 12 178 68 42 26 16 10 6 4 2 2 144经过以上分析,刚出生的排在表格的最前面,并且出生的数量是上一行去掉最前面的总和(因为只有上一行的青年才可以生)将每一行的数量加起来除以二就是对数,对数符合斐波那契数列下一个数,等于前两个数相加,所以利用此规律进行循环相加*/public class My7_6_11{public static void main (String [] args ){int sum = 0;//定义第1个月的对数int mouth1 = 1;System.out.println("第1个月的对数为:1对");//定义第2个月的对数int mouth2 = 1;System.out.println("第2个月的对数为:2对");//第3个月的对数等于前两个月相加for( int i = 3 ; i <=12 ; i++ ){sum = mouth1 + mouth2;System.out.println("第"+i+"个月的对数为:"+sum+"对");//将等式右边换成 Sum + number2 这样下一轮计算结果就是前两个数之和(1+2);mouth1 = mouth2;mouth2 = sum;}System.out.print("经过12个月,一共生了兔子"+sum+"对");}
}
总结:
兔子繁殖问题最主要的是弄清数学原理,耐心看完并执行代码,希望对阅读者有所帮助,不明白了评论区留言,第一时间为您解答,一起努力加油!
Java经典for循环题目:兔子繁殖问题相关推荐
- Java经典算法题目(兔子题)及题目分析
Java经典兔子问题 题目:古典问题:3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:首先我们要明白题目的意思指的是每个月的兔子总 ...
- 经典算法(6)斐波拉契数列、兔子繁殖、跳台阶算法
写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字.我热爱技术.热爱开源.热爱编程.技术是开源的.知识是共享的. 这博客是对自己学习的一点点总结及记录,如果您对 Java.算法 感兴 ...
- java兔子繁殖总数_【Java基础编程练习】01:兔子繁殖问题(斐波那契数列)的分析及实现...
01:兔子繁殖问题 Java练习,第一道就是这道题,早有耳闻,看好多答案就是直接摆上来一个斐波那契数列就完了〒▽〒,于是自己就写了一个思考过程,仅供自己将来复习吧~ 一.问题概述 题目:古典问题:有一 ...
- java经典面试题目
java经典面试题目 网页静态化 1.什么是网页静态化(定义)? 网页静态化是指通过动态网站静态化将动态网站以静态化的方式展现出来 2.网页静态化的优点和好处? 1.静态页面相对于动态页面更容易被搜索 ...
- java 兔子繁殖问题_兔子繁殖问题
/*兔子繁殖问题. 设有一对新生的兔子,从第三个月开始他们每个月都生一对兔子,新生的兔子从第三个月开始又每个月生一对兔子. 按此规律,并假定兔子没有死亡,20个月后共有多少个兔子?要求编写为控制台程序 ...
- java兔子繁殖_兔子繁衍问题 (考虑死亡)
兔子繁殖问题(考虑兔子会死亡的情况)–java实现 问题描述: 在一片广袤无垠的大草原上,生活一羣兔子:无需考虑性别,每只兔子每年年末都会生2只小兔子,这2只小兔子在第二年年末也会生2只小兔子: 兔子 ...
- 兔子繁殖问题 (java)
兔子繁殖问题 (java) 已知有一对兔子,每个月可以生一对兔子,而小兔子一个月后又可以生一对小兔子(比如:2月份出生的小兔子4月份可以生育).也就是说,兔子的对数为:第一个月1对,第二个月2对,第三 ...
- 兔子繁殖问题 斐波那契数列 java实现
兔子繁殖问题 斐波那契数列 java实现 问题描述 一对兔子,从出生后第3个月起每个月都生一对兔子. 小兔子长到第3个月开始每个月又生一对兔子. 假如兔子都不死, 请问第1个月出生的一对兔子,第n个月 ...
- java递归方法编写兔子繁殖_2018-04-15 斐波那契数列(兔子繁殖数列)
费波那契数列(兔子繁殖数列) 兔子在出生两个月后,就有繁殖能力,一对成年而有繁殖力的兔子每个月能生出一对小兔子来.假设一年以后所有兔子都不死,那么一对小兔子一年以后可以繁殖多少对兔子? 我们来分析一下 ...
- JAVA经典算法50题(转)
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1] 题目:古典问题:有一对兔子, ...
最新文章
- 什么是机房三维(3D)监控系统,什么是机房可视化动力环境监控系统?
- 项目前端页面框架介绍
- ngx_connection_t结构体
- createjs中shape的属性regX和regY
- Position independent code and data (ROPI and RWPI)
- C++ string和c类型字符数组的比较
- vs2012 出现 无法启动IIS express的解决方案
- Mysql5.6.x版本半同步主从复制的开启方法
- php将中文编译成字符串,PHP将汉字字符串转换为数组
- java field的方法_Java Field set()用法及代码示例
- 开发APP软件需要多少钱?
- 构建更安全、更智能、更健康的数字化世界——中新赛克2021全国渠道大会成功举办
- python 四象限图_「四象限图」excel制作四象限图的方法图解步骤 - seo实验室
- Windows下的SysWow64和System32
- 如何root安卓手机_超级神器——安卓端的手机虚拟机,手机中的手机(支持root,xp框架)...
- 剖析ArrayList / 计算机程序的思维逻辑
- 沪漂IT岗的自我提升
- java转json字符串
- R语言GWR地理加权回归
- 书到用是方恨少......