首页 > 编程语言 > 详细

猴子分香蕉-Java

时间:2020-04-20 20:36:15      阅读:70      评论:0      收藏:0      [点我收藏+]

代码

	public static void main(String[] args) {
	
			/*
			 * 第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
	第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
	第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
	第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
	第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
			 */
		/*
		 * 这题用模拟法暴力就好
		 */
		int i=6;//为什么么是6?你想啊,第一只猴子分了五次还剩一个,那它至少得有六个吧
		while(true) {
			 if(i%5==1)//第一次分会多出一个
		        {
		            int x1=i-(i-1)/5;//第一次均分后 都会少一份被拿走
		            x1=x1-1;//对了,不能忘记每次多出来的香蕉也被醒过来的猴子偷吃了
		            if(x1%5==2)
		            {
		                int x2=x1-(x1-2)/5;
		                x2=x2-2;
		                if(x2%5==3)
		                {
		                    int x3=x2-(x2-3)/5;
		                    x3=x3-3;
		                    if(x3%5==4)
		                    {
		                        int x4=x3-(x3-4)/5;
		                        x4=x4-4;
		                        if(x4%5==0 && x4!=0)//要确保到最后一个猴子醒过来的时候还有香蕉!且正好可以被均分
		                        {
		                          System.out.println(i);
		                            break;
		                        }
		                    }
		                }
		            }
		        }
		        i++;

	
			
		}
		
	
	
	}

结果

3141

猴子分香蕉-Java

原文:https://www.cnblogs.com/effortfordream/p/12739852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!