【JAVA习题二十八】海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

package erase;
import java.util.Scanner;
public class 猴子分桃 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //假设每个猴子拿走1个,加上每个猴子仍在海里的1个,
        //剩下的4个,所以从14开始,其实好多开始不重要
        int num = 14;
        while(true) {
            if(Fentao(num)) {
                break;
            }
            num++;
        }
        System.out.println(num);
    }
    public static boolean Fentao(int num) {
        int i = 0;//猴子个数
        while(i<5) {
            if((num-1)%5==0) {
                num=num-(num-1)/5-1;//猴子把多的一个扔入海中,拿走了一份
                i++;
            }//循环五次是否成立
            else return false;
        }
        return true;
    }
}

 

Tags: