问题描述
5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
思路分析及代码描述
分享一个不会挨打的做法
for i in range(10**7):
ii=i
for j in (1,2,3,4,0):
if ii % 5 == j and ii != 0:
ii=ii // 5 * 4
else:
break
else:
print(i)
break
答案:3141
本文通过一个有趣的故事提出数学问题:五只猴子依次分配香蕉,每只猴子都吃掉余数并藏起自己的一份,最后恰好分完。文章提供了一段Python代码来找出最初至少有多少香蕉能满足条件,并给出答案为3141。
3041

被折叠的 条评论
为什么被折叠?



