5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
需要提交的是一个整数,不要填写任何多余的内容。
分析:
不知道香蕉的数量,设为n个。用while循环,满足下面的条件结束:
1.n%5=1 a=(n-1)/5*4
2.a%5=2 b=(a-2)/5*4
3.b%5=3 c=(b-3)/5*4
4.c%5=4 d=(c-4)/5*4
5.d%5=0 d>0
代码如下:
public class Main { public static void main(String[] args) { int n=1; while(true) { if(n%5==1) { int a=(n-1)/5*4; if(a%5==2) { int b=(a-2)/5*4; if(b%5==3) { int c=(b-3)/5*4; if(c%5==4) { int d=(c-4)/5*4; if(d%5==0&&d>0) { //d>0隐藏条件,不能没有香蕉分了 System.out.println(n); break; } } } } } n++; } } }
答案:3141