五十道编程小题目解答版——(第一篇)
来源:互联网 发布:av淘宝taobaocom 编辑:程序博客网 时间:2024/06/05 05:00
偶然看到有五十道编程题目的帖子,就拿来练练:原帖地址为:http://m.blog.csdn.net/article/details?id=7882441
【第一题】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
/**
*@Description:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?
程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
*@author :Lanting
*/
import java.util.*;
class RabbitSum
{
public static void main(String[] args)
{
List<Rabbit> rl=new ArrayList<Rabbit>();
rl.add(new Rabbit());/*只有父亲兔子刚出生的时候是0,第一次遍历时年龄变成了1。*/
for(int i=1;i<9;i++)//所有的兔子都随着月份的增加而变大。
{
int j=0;
Iterator<Rabbit> it=rl.iterator();
while(it.hasNext())
{
Rabbit rabbit=it.next();
rabbit.ageIncrease();
if(rabbit.getAge()>=3)
{
j++;
}
}
for(;j>0;j--)
{
rl.add(new Rabbit(1));//在新一次的遍历中应该有几个兔子已经一岁了
}
System.out.println(rl.size());//将新出生的兔子加上,则为总数。
}
}
}
class Rabbit
{
private int age=0;
public Rabbit(){}
public Rabbit(int i)
{
this.age=i;
}
public void ageIncrease()
{
age++;
}
public int getAge()
{
return age;
}
}
表示看到题时懵逼了一会,一个劲地在分析数据的变化,最后才反应过来可以用for循环来模拟生长过程
Rabbit类的封装,以及sum的计算对是解决问题的关键
- 五十道编程小题目解答版——(第一篇)
- 五十道编程小题目 --- 00
- 五十道编程小题目 --- 13 java
- 五十道编程小题目 --- 14 java
- 五十道编程小题目 --- 20 java
- 五十道编程小题目 --- 24 java
- 五十道编程小题目 --- 29 java
- 五十道编程小题目 --- 30 java
- 五十道编程小题目 --- 39 java
- 五十道编程小题目 --- 48 java
- 五十道编程小题目 --- 04 正整数分解质因数 java
- 五十道编程小题目 --- 06 最大公约数和最小公倍数 java
- 五十道编程小题目 --- 09 完数 java
- 五十道编程小题目 --- 10 反弹的小球 java
- 五十道编程小题目 --- 19 打印菱形 java
- 五十道编程小题目 --- 25 回文数 java
- 五十道编程小题目 --- 33 杨辉三角 java
- 五十道编程小题目 --- 40 字符串排序 java
- swustOJ 1378 Best Grass
- Eclipse使用maven构建web项目
- JCR集成Java内容仓库和Spring
- 启动数据库报错ORA-01078,LRM-00109
- Git学习(五)----Git工作区&暂存区&版本库(“三巨头”)、删除文件、撤销操作
- 五十道编程小题目解答版——(第一篇)
- IOS 网络浅析-(八 NSURLSession简介)
- PHP的db.inc.php(dao层的工作)
- MapReduce编程--1.统计用户上网流量DataCount
- 管理照相机-控制相机硬件(摘自Android官方培训课程中文版(v0.9.5))
- 在shell脚本中以其他用户身份执行命令
- 难为自己,成全自己
- cogs 396. [网络流24题]魔术球问题(简化版
- IBM Cognos 10.2 Error: RSV-SRV-0040 / RSV-SRV-0042