题目:
条件:现有 100 元,一共要买公鸡、母鸡、小鸡三种鸡,已知公鸡 5 元一只,母鸡 3 元一只,1 元可以买三只小鸡。
要求:公鸡、母鸡、小鸡都要有,一共买 100 只鸡。有哪几种买法,公鸡、母鸡、小鸡分别是多少只?
思路:
此题是一个三元一次方程。
假设公鸡、母鸡、小鸡分别有 x只,y只,z只。
条件1:5x + 3y + 1/3z = 100(元);
条件2:x + y + z = 100(只);得出 z = 100-x-y;
条件1*3 - 条件 2 得出:
14x + 8y = 200;y = (100-7x)/4;7x < 100 得出 x < 15;
方法1:
for x in range(1,21): # 外层循环控制公鸡数x在1~20
for y in range(1,34): # 内层循环控制母鸡数y在1~33
z = 100-x-y # 小鸡数z的值受x和y值的制约
if z%3==0 and 5*x+3*y+z//3==100: # 小鸡数z应该是三的倍数
print("cock=",x,"hen=",y,"chicken=",z)
输出:
cock= 4 hen= 18 chicken= 78
cock= 8 hen= 11 chicken= 81
cock= 12 hen= 4 chicken= 84
方法2: