穷举法:穷尽所有的可能性,然后设置条件,找到问题的解 —> 暴力破解法
题目1:鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1,用百钱买百鸡,问鸡翁、鸡母、鸡雏几何。
实现:
for x in range(0, 21):
for y in range(0, 34):
z = 100 - x - y
if z % 3 == 0 and 5 * x + 3 * y + z // 3 == 100:
print(x, y, z)
输出:
0 25 75
4 18 78
8 11 81
12 4 84
题目2:五个人(ABCDE)晚上去捕鱼,捕了不计其数的鱼,然后累了去睡觉。第二天,A第一个醒过来,把鱼分成了5份,扔掉了多余的1条,然后拿走自己的1份;B第二个醒过来,以为鱼没分过,把剩下的鱼分成了5份,扔掉多余的1条,拿走自己的一份;C、D、E依次醒过来,都按照同样的方法来分鱼。问它们最少捕了多少条鱼?
实现:
fish = 6
while True:
is_enough = True
# 检查目前的鱼的数量够不够五个人分
total = fish
for _ in range(5): # 此处变量为_是Python中没用到时的惯用写法
if (total - 1) % 5 == 0:
total = (total - 1) // 5 * 4
else:
is_enough = False
break
if is_enough:
print(fish)
break
fish += 5
输出:
<

最低0.47元/天 解锁文章
1344

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



