百钱百鸡问题。我国古代数学家张丘在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
分析:假设cock、hen、chicken分别代表鸡翁、鸡母和鸡雏个数,则
cock+hen+chick=100 ①
5*cock+3*hen+chick/3=100 ②
由②式知,cock至多20个,hen至多33个,因此,运用穷举法,令cock分别为1,2,3,...,200,hen分别为1,2,3...,33,然后chick=100-cock-hen代入②中验证,如果两边相等,所得的cock、hen、chick值就是所要鸡翁、鸡母和鸡雏的个数;如果不满足②式的cock、hen和chick,则本题无解。
代码如下:
for 鸡翁 in range(1,20,1):
for 鸡母 in range(1,33,1):
鸡雏=100-鸡翁-鸡母
if(鸡翁*5+鸡母*3+鸡雏/3==100):
print("鸡翁:%d"%鸡翁,"鸡母:%d"%鸡母,"鸡雏:%d"%鸡雏)