猴子分桃问题
题目:猴子分桃:海滩上有一堆桃子,有五只猴子来分。
第一只猴子把这堆桃子平分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,
第三、第四、第五只猴子都是这样做的,
问:
海滩上原来最少有多少个桃子
l
l
l
l
l
l
l
l
l
l
将问题到反来思考,会是问题更加简单。
import java.io.*;
class test {
// times 循环次数
public static int searchPeach(int times){
int numberPeach = 1; // 要使桃子的数量最少 相当于 使最后以为猴子分得桃子最少(为1)
int i=1;
while( i <= times){
numberPeach = (numberPeach*5)+1;
i++;
}
return numberPeach;
}
public static void main (String[] args) throws java.lang.Exception{
System.out.println("沙滩上最少有" + searchPeach(5)+"个桃子");
}
}