完整:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个 扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中, 拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
public static void main(String[] args) {
int N = 1; // 从1开始尝试
while (true) {
int peaches = N;
boolean valid = true;
for (int i = 0; i < 5; i++) {
if ((peaches - 1) % 5 != 0) {
valid = false;
break;
}
// 扔掉一个桃子,拿走1/5
peaches = peaches - (peaches / 5 + 1);
}
if (valid && peaches >= 0) {
break;
}
N++;
}
System.out.println("海滩上原来最少有 " + N + " 个桃子。");
}
效果展示: