问题描述:一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?(用JAVA实现)。
小弟初次发帖,希望各位前辈别投隐藏,谢谢。
/**
* 农夫养牛。
*
* @author ZouYong
*
*/
public class RaiseCowByRecursive2 {
/**
* 牛的生产周期。
*/
private static final int cycle = 3;
/**
* @param args
*/
public static void main(String[] args) {
System.out.print("年数:");
Scanner sc = new Scanner(System.in);
int y = sc.nextInt();
System.out.println("牛的总数:" + getCow(y));
}
private static long getCow(int y) {
// 需要生产。
if (y > cycle) {
return getCow(y - 1) + getCow(y - cycle);
}
// 不生产,直接返回1。
return 1;
}
}
小弟初次发帖,希望各位前辈别投隐藏,谢谢。