|
发表于 2018-12-17 12:49:33
|
显示全部楼层
先给这堆桃子加上4个,设此时共有X个桃子,最后剩下a个桃子.这样: 
第一只猴子分完后还剩:(1-1/5)X=(4/5)X; 
第二只猴子分完后还剩:(1-1/5)2X;
第三只猴子分完后还剩:(1-1/5)3X;
第四只猴子分完后还剩:(1-1/5)4X;
第五只猴子分完后还剩:(1-1/5)5X=(1024/3125)X;
得:a=(1024/3125)X;
要使a为整数,X最小取3125.
减去加上的4个,所以,这堆桃子最少有3121个。
- monkey=1#要分桃的猴子数
- peaches=1#桃的总数
- peach=1#每次分桃的总数
- while(monkey<=5):
- #如果成功分桃子
- if peach % 5 ==1 and peach // 5 != 0:
- #可分桃的总数为现在的4/5
- peach=(peach // 5)*4
- # 换下一个猴子
- monkey += 1
- # 如果失败,重新分桃这时可分桃数量加1
- else:
- peaches += 1
- peach = peaches
- monkey = 1
- print("桃的最小总数为:%s" %peaches)
复制代码
- >>>
- ============= RESTART:=============
- 桃的最小总数为:3121
复制代码 |
|