Python解决百钱买百鸡
穷举法的经典案列
穷举法:穷尽所有的可能性,然后设置条件找到问题的解。
题目:鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1,用百钱买百鸡,问鸡翁、鸡母、鸡雏几何
# 一百钱全部买鸡翁可买20只 x
# 一百钱全部买鸡母可买33只 y
# 一百钱全部买鸡雏可买99只 z
# 一百钱全部买鸡雏可买300只 但我们只买一百只
for x in range(0, 21):
for y in range(0, 34):
for z in range(0, 100, 3):
if x + y + z == 100 and 5 * x + y * 3 + z / 3 == 100:
print(x, y, z)
"""此方法是把所有可能性要选出来总共有 20x33x99种
通过x + y + z == 100 and 5 * x + y * 3 + z / 3 == 100,选出符合条件的几种"""
也可以减少for循环提高效率
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)
其结果为