问题:
百元买百鸡,公鸡一只3元,母鸡一只5元,小鸡3只1元,试问100元买100只鸡各为多少合适?
1、循环
缺点:3层循环,时间复杂度是100100100,效率低
```for x in range(101):
for y in range(101):
for z in range(101):
if x+y+z==100 and x*3+5*y+z/3==100:
print(x,y,z)
结果:
4 12 84
11 8 81
18 4 78
25 0 75
2、优化:
z=100-x-y
消去一个未知数,得到:
4x+7y=100
x+y+z=100
(x,y,z>=0,z%3==0)(0<=x<=25)
for x in range(26):
y=100-4*x
if y%7==0 and y>=0:
y=y/7
z=100-x-y
if z%3==0 and 3*x+5*y+z/3==100:
print(x,y,z)
结果:
4 12.0 84.0
11 8.0 81.0
18 4.0 78.0
25 0.0 75.0
欢迎大家交流指正!