这个用递归就行,兔子就是个类,他们有自己的行为,这种思路可以帮助我们给兔子建立模型。
写法一:
/** * 有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月又生一对兔子,假如兔子都不死,问每个月的兔子总数多少? */ public class Test4 { public static void main(String[] args) { RabbitPair rabbitPair = new RabbitPair(6); System.out.println(rabbitPair.getPairCount()*2); } } class RabbitPair{ int month; public RabbitPair(int month){ this.month = month; } public int getPairCount(){ if(month<3){ return 1; }else{ return month-2+(new RabbitPair(month-2)).getPairCount(); } } }
写法二:
当然上边的代码也可以精简,但是就限定不是那么平易近人了,因为你不能一下看出这个是怎么得到的,简化后:
public class Test4 { public static void main(String[] args) { int month = 5; System.out.println(getPairCount(month)*2); } public static int getPairCount(int month){ if(month<3){ return 1; }else{ return month-2+getPairCount(month-2); } } }
原文地址:https://www.cnblogs.com/flying607/p/9004158.html
时间: 2024-10-11 16:36:24