题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
看完这道题目,是不是已经完全懵圈了,作者也是比较蒙圈,查看了一些资料,看到下面这种解法相对来说还是比较简单的。
解答这道题的思路可以采用逆向思维的方式,也就是我们首先需要定义出最后剩余的桃子数量,然后根据这个数量向前进行推导。所以具体的解法如下:
n = 1
while True:
m = n/4*5+1
for i in range(4):
m = m/4*5+1
if m%1==0:
print(int(m))
break
else:
n += 1
最后运行的结果为:
C:\Python\python.exe "C:/Users/Administrator/Desktop/Python 练习实例100题/练习79.py"
3121
Process finished with exit code 0
2020年4月18日
北京市通州区京贸中心