农场一头小母牛,
每年绳头小母牛,
母牛五岁产母牛,
二十年后多少牛?
有java 写出来。。。
java 一道题
------解决方案--------------------
你要考虑公牛配种问题。。。
------解决方案--------------------
import java.util.ArrayList;
public class TestCow {
/**
* @param args
*/
public static void main(String[] args) {
ArrayList<Cow> farm = new ArrayList<Cow>();
Cow source = new Cow();
farm.add(source);
// 每年都让农场的所有母牛过一次生日
for (int year = 1; year <= 20; year++) {
// 遍历所有的母牛,让它过生日
for (int i = 0; i < farm.size(); i++) {
Cow mother = farm.get(i);
Cow daughter = mother.birthday();
// 如果生了母牛则加入农场
if (daughter != null) {
farm.add(daughter);
}
}
System.out.println("第" + year + "年,农场规模:" + farm.size());
}
}
}
/**
* 母牛类
*
* @author mfanw
*
*/
class Cow {
/**
* 刚出生的年龄是0岁
*/
private int age = 0;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
/**
* 母牛过生日,如果超过5岁则生一个母牛
*
* @return
*/
public Cow birthday() {
age++;
if (age >= 5) {
System.out.println("我超过5岁了,生一个母牛!");
return new Cow();
}
return null;
}
}
------解决方案--------------------
递归
public class BornOx {
public static void main(String[] args) {