1.《算经》中有一道很有趣的数学题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
转化为数学语言,也就是我们要找到三个不大于100的非负整数x,y,z,满足x+y+z=100,并且5x+3y+z/3=100.
for rooster in range(21): # 20*5=100 如果这里必须要公鸡的话就改成 for i in range(1, 21):
for hen in range(34): # 33*3=99
k=100-rooster-hen
if rooster*5 + hen*3 + (100-rooster-hen)/3 == 100:
print(f'公鸡{rooster}只,母鸡{hen}只,鸡雏{k}只。 ')
2.现在有80块砖,50人搬,已知男搬5块,女搬3,两个小孩抬一块砖,要求一次搬完,问:需要男,女,小孩各多少人?转化为数学语言,也就是我们要找到三个不大于80的非负整数x,y,z,满足x+y+z=80,并且5x+3y+z/2=80.
for i in range(17): # 16*5=80 如果这里必须要男人的话就改成 for i in range(1, 17):
for j in range(27): # 26*3=78
k = 50 - i - j
if 5 * i + 3 * j + k / 2 == 80:
print(f"男:{i},女:{j},小孩:{k}")