您的位置:首页 > 其它

第二届2011年国信蓝点杯软件设计大赛预赛的试题猜基因牛

2017-03-14 17:45 351 查看
package java_gaozhi_2011;

import java.util.ArrayList;

import java.util.List;

/*基因牛

张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,

又可以每年生出一头母牛。如此循环下去,请问张教授n年后有多少头母牛?

以下程序模拟了这个过程,请填写缺失的代码。把填空的答案(仅填空处的答案,不包括题面)

存入考生文件夹下对应题号文件夹中的“解答.txt”中即可。

public static class Cow 

{
private int age;
public Cow afterYear()
{
age++;
return age > 2 ? new Cow() : ___________;
}

public static void showTotalCowNum(int n)
{
List<Cow> list = new ArrayList<Cow>();
list.add(new Cow());

for (int i = 0; i < n; i++)
{
int cowCount = list.size();
for (int j = 0; j < cowCount; j++)
{
Cow cow = list.get(j).afterYear();
if (cow != null)
{
________________; 
list.add(cow);
}
}
}
System.out.println(n + "年后,共有:" + list.size());

}

}

*/

public class Task_7 {

private int age ;
public Task_7 afterYear()
{
age++;
//判断牛的年龄是否等于或大于3
return age > 2 ? new Task_7() : null;
}

public static void showTotalCowNum(int n)
{
List<Task_7> list = new ArrayList<Task_7>();
list.add(new Task_7());

for (int i = 0; i < n; i++)
{
int cowCount = list.size();
for (int j = 0; j < cowCount; j++)
{
Task_7 cow = list.get(j).afterYear();
if (cow != null)
{
//使牛的年龄+1
cow.afterYear();
list.add(cow);
}
}
}
System.out.println(n + "年后,共有:" + list.size());

}

public static void main(String[] args) {
showTotalCowNum(13);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐