编程题目:
65.猴子分桃问题:海滩上有一堆桃子,五只猴子来分。第一只 猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
示例代码:
package program.calculation.exercise65;
/**
* 65.猴子分桃问题:海滩上有一堆桃子,五只猴子来分。
* 第一只 猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
* 第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,
* 第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
*/
public class MonkeyDivPeach {
public static void main(String[] args) {
int n = 0; //猴子分桃次数
int peaches = recurPeaches(n);
System.out.println("海滩上原来有"+peaches+"个桃子");
}
//递归
private static int recurPeaches(int n) {
if(5 == n) {
return 1;
}else {
return recurPeaches(n+1)*5+1;
}
}
}