需求:
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个, 这只猴子把 多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个, 它同样把多的 一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
代码:
public class Test3 { public static void main(String[] args) { int num = getNum(); System.out.println("桃子数量为: "+num); } //定义方法返回桃子的数量 public static int getNum() { int count =0;//桃子数 int number =0;//为下只猴子剩的桃子数 while (true) {//从零开始不断增加桃子数量直到符合要求为止 count ++; int j =count;//临时变量 for (int i=0;i<5;i++) {//循环判断符合五只猴子去桃子的规则 if ((j - 1) % 5 == 0 ) { number = (j-1)/5*4;//为下一个猴子剩的桃子数 j =number; if (number > 0 && i == 4) {//循环到最后都符合规则就返回桃子数 return count; } } else { break; } } } } }
结果为: