一头小牛,小牛成长到第四年开始,会每年生一头小牛,N年后共有多少头牛
2013-06-21 23:17
323 查看
方法一:面向对象
第1年,牛的数量1
第2年,牛的数量1
第3年,牛的数量1
第4年,牛的数量2
第5年,牛的数量3
第6年,牛的数量4
第7年,牛的数量6
第8年,牛的数量9
第9年,牛的数量13
第10年,牛的数量19
第11年,牛的数量28
11年后,牛的数量:28
方法二:递归
方法三:递归
public class Cow { /* * 一个农夫,买了一头小牛,这头小牛成长到第四年开始,会每年生一头小牛, * 所出生的小牛成长到第四年开始,也会每年生一头小牛,请问N年后,农夫共有多少头牛 * */ private int age; public Cow() { // TODO Auto-generated constructor stub age = 1; } //增加年龄 public void addAge() { age ++; } //是否可以生产小牛 public boolean isCanBirth() { return age >=4; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int N=11; List<Cow> list = new ArrayList<Cow>(); list.add(new Cow()); for (int i = 1; i <= N; i++) { for (int j = 0; j < list.size(); j++) { Cow cow =list.get(j); if(cow.isCanBirth()){ list.add(new Cow()); } cow.addAge(); } System.out.println("第"+i+"年,牛的数量" + list.size()); } System.out.println(N + "年后,牛的数量:"+ list.size()); } }
第1年,牛的数量1
第2年,牛的数量1
第3年,牛的数量1
第4年,牛的数量2
第5年,牛的数量3
第6年,牛的数量4
第7年,牛的数量6
第8年,牛的数量9
第9年,牛的数量13
第10年,牛的数量19
第11年,牛的数量28
11年后,牛的数量:28
方法二:递归
public static void main(String[] args) { // TODO Auto-generated method stub int N=11; long num =new Cow().fun(N); System.out.println(N + "年后,牛的数量:"+num); } public long fun(int n) { long num=0; if(n==1 || n==2 || n==3){ num=1; }else{ num = fun(n-3)+fun(n-1);//今年小牛总数量=今年新生的小牛+去年小牛的数量 } return num; }
方法三:递归
private static int sum =1; public static void main(String[] args) { // TODO Auto-generated method stub int N=11; new Cow().fun(N); System.out.println(N + "年后,牛的数量:"+sum); } public void fun(int n){ int y = n-3;//父代可生的子代数量 if(y>0){ sum = sum +y; for(int i=0;i<(y-1);i++){//子代可生子代的数量 fun(n-(3+i)); } } }
相关文章推荐
- 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
- 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
- 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n
- 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
- 母牛繁殖问题:一头母牛,每年年初生一头小母牛,每头小母牛从第四个年头起,每年年初也要生一头小母牛,问:第20个年头后共有多少只牛?
- 母牛生产问题;第一年有一头小母牛,3年之后每年都生一头小母牛,假设都不死,第n年共有多少母牛,输出n从1到20的母牛数目
- 有一头小母牛。从第四年起每年生一头小母牛。生的小母牛也是从第四年起每年生一头小母牛。如此循环。编程求N年后有多少头母牛。。。。。。。
- 若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多少头母牛?
- 一只刚出生的小牛,4年后生一只小牛,以后每年生一只。现有一只刚出生的小牛,问20年后共有牛多少只?
- 若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多少头母牛?
- 若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年有多少头母牛?
- 一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛,n年后有多少头小牛
- 农夫养了一头牛,三年后下了一只小牛,小牛三年后又会下小牛,问10年后农夫有多少牛?
- 五子棋(右)从给定点开始向上共有多少个连续的相同颜色的子?
- 设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛?
- 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛...
- 兔子繁殖问题,设有一对新生兔子,从第四个月开始他们每个月月初都生一对兔子 新生的兔子从第四个月月初开始又每个月生一对兔子 按此规律,并假定兔子没有死亡,n(n <= 20)个月月末共有多少对兔子?
- 一对耗子每个月生一对小耗子,小耗子成长3个月,从第4个月开始也可以每个月生一对小耗子。假如所有的耗子都不死的情况下,2年(24个月)后一共有多少只耗子?
- 农场一头小母牛,每年生头小母牛,母牛5岁产母牛,20年上多少牛?--java面向对象方式实现
- 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规定从一级到一级有0种走法。