5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
public static void main(String[] args) {
for (int num = 5; num <= 100000; num++) {
int i=num;
if (i % 5 != 1)
continue;
i = (i - 1) / 5 * 4;
if (i % 5 != 2||i<2)
continue;
i = (i - 2) / 5 * 4;
if (i % 5 != 3||i<3)
continue;
i = (i - 3) / 5 * 4;
if (i % 5 != 4||i<4)
continue;
i = (i - 4) / 5 * 4;
if (i % 5 != 0||i<5)
continue;
System.out.println(num);
return;
}
}
这道题,要运用到多个 if 的判断和 for 循环的灵活运用。通过 for 循环,对每只猴子醒来后的香蕉数进行计算,直到循环到符合题意的数值为止,对结果进行打印输出。