有五个人A,B,C,D,E一起去捕鱼,一天下来收获颇丰。然后晚上大家都住在海边帐篷里,
第二天早上,A先起来,他将鱼按数量平均分成了5份,发现刚好多了1条,他将多的一条丢掉,并从5份中拿了一份,剩下的4份又混合一起,不让其它人发现。接着B起来了,他也将鱼分成5份,发现刚好也多了一条,将多余的一条丢到后,他拿走了5份中的一份,并将剩下的4份混合一起,不让其他人发现。接着C,接着D,E,都是这种情况。
求:满足以上条件的鱼的数量(这里的数量要求是最小数量)
穷举法:穷尽一切可能,直到找出结果。
上代码:
fish = 1
while True:
total = fish
enough = True
for _ in range(5):
if (total - 1) % 5 == 0:
total = (total - 1) //5 * 4
else:
enough = False
break
if enough:
print(fish)
break
fish += 1
输出结果:
3121