java算法题---猴子分桃问题

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

public class Test1 {
    public static void main(String[] args) {
        int num = 5;  //猴子的数目
        int n = 1;   //最后一只猴子的桃子数目
        int startNum = 0;
        for(int i = 0; i < num; ++i) {
            if(i == 0) {
                startNum = 5*n+1;
            }else {
                if(startNum%4 != 0) {
                    n++;
                    i = -1;
                }else {
                    startNum = 5*(startNum/4)+1;
                }
            }
        }
        System.out.println(startNum);
    }
}

猜你喜欢

转载自blog.csdn.net/devil_net/article/details/80174306