题目-百钱买百鸡
题目描述
现有100钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只
要求:公鸡、母鸡,小鸡都要有,把100文钱花完,买的鸡的数量正好是100。
问:一共能买多少只公鸡,多少只母鸡,多少只小鸡?
输入描述
输入任何一个整数,即可运行程序。
实现代码
方案一
- 穷举法
while True:
try:
num = input()
for i in range(0,21):
for j in range(0,34):
if i + j + (100-5*i-3*j) * 3 == 100:
print(i,j,(100-5*i-3*j) * 3)
except:
break
- 代码优化
while True:
try:
num = input()
for i in range(0,21):
for j in range(0,(100-5*i)//3+1):
if i + j + (100-5*i-3*j) * 3 == 100:
print(i,j,(100-5*i-3*j) * 3)
except:
break
方案二
- 随机数法
import random
while True:
x = random.randrange(1,20)
y = random.randrange(1,33)
z = random.randrange(1,100)
if 5*x+3*y+z/3 == 100 and x+y+z == 100:
print(x, y, z)
break