1074: 百钱买百鸡
时间限制: 1 Sec 内存限制: 128 MB
提交: 38183 解决: 17530
[状态] [讨论版] [提交] [命题人:admin]
题目描述
百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡、母鸡、小鸡各买多少只?
本程序要求解的问题是:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、小鸡各买多少只?
输入
输入一个正整数n(n<=100)。
输出
如果有解,种组合占一行,包含公鸡、母鸡、小鸡的个数,用正整数表示,每个数据占4列。公鸡母鸡小鸡个数均大于等于0,按公鸡数目从小到大输出,公鸡数目相同按母鸡数目从小到大输出,以此类推。如果无解,输出“No Answer”。
样例输入 Copy
100
样例输出 Copy
0 25 75
4 18 78
8 11 81
12 4 84
#
# 百钱买百鸡
#
#输入n
n = int(input())
#标志
flag = 0
#公鸡的取值范围
for x in range(0, n // 5 + 1):
#母鸡的取值范围
for y in range(0, n // 3 + 1):
#小鸡的数量
z = n - x - y
#列方程求解x,y,z
if(15 * x + 9 * y + z == n * 3):
#输出x,y,z;占四列
print("%4d%4d%4d" %(x, y, z))
#更新标志信息
flag = 1
break
if(flag == 0):
print("No Answer")