2018年5月4日(2)

023猴子分桃问题

public class MonkeyPeach
{
    public static void main(String[] args)
    {
        int n=1;
        int m=0;
        int flag=1;
        int monkeyNum=5;
        while(true)
        {
            flag=1;
            m=monkeyNum*n+1;
            for(int i=monkeyNum;i>=1;i--)
            {
                if(m%(monkeyNum-1)==0)
                {
                    m=m/(monkeyNum-1)*monkeyNum+1;
                    flag++;      //计算多少次的桃子数量被4整除
                }
                else
                    break;
            }
            if(flag==monkeyNum)
                break;
            n++;
        }
        System.out.println("开始的桃子数至少是:"+m);
        System.out.print("此时第五个猴子得到的桃子数是:"+n);
    }

}

备注:本题并没有真正的实现,只是借鉴了参考答案。关于其数学问题已经解决,但是在转化成程序实现时遇到瓶颈。想法有两种:如果用数学解答的话显得有背离题意之嫌,在利用暴力解决的时候,又不能理解参考答案的思路,于此望推后研究。

posted @ 2018-05-06 21:50  tan90°  阅读(103)  评论(0)    收藏  举报