- /*
- 一个农夫养了一头牛,三年后,这头牛每一年会生出1头牛,生出来的牛三年后,
- 又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?(不考虑其他因素,只考虑此数学问题)
- */
- public class Cow
- {
- static int count = 1;
- static int n = 10;
- private static void getCow(int year,int age)
- {
- year++;
- age++;
- if(year<=n)
- {
- if(age>=3)
- {
- //当牛的年龄达到3岁,则计数一次,代表一个小牛诞生。
- count++;
- //一个小牛诞生后,还会按照老牛的规律,三年后每年诞生一个新崽,所以还需要调用原来的方法
- getCow(year,0);
- }
- getCow(year,age);
- }
- }
- public static void main(String[] args)
- {
- new Cow().getCow(0, 0);
- System.out.println(count);
- }
- }
复制代码 |