Python练习实例80 | 海滩上有一堆桃子,五只猴子来分

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

小黄人.jpg

看完这道题目,是不是已经完全懵圈了,作者也是比较蒙圈,查看了一些资料,看到下面这种解法相对来说还是比较简单的。

解答这道题的思路可以采用逆向思维的方式,也就是我们首先需要定义出最后剩余的桃子数量,然后根据这个数量向前进行推导。所以具体的解法如下:

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日
北京市通州区京贸中心

你可能感兴趣的:(Python练习实例80 | 海滩上有一堆桃子,五只猴子来分)