收藏
难度:一般
标签:暂无标签
题目描述
现在假设你是个店员,为了方便/准确/最优的找零钱,你设计了一个程序.该程序应该实现如下功能: 第一行输入客户所给你金额 第二行输入客户消费的总金额 第三行输出应找的总零钱是多少 第四行输出各种面额的张数(总金额之和要与第三行的数相等,并且要求货币总张数是最少的方案输出) 注:为了简单,假设上述中的金额都是整数,现规定金额的面值为100,50,20,10,5,1元.并且假定客户的金额总是大于所需支付的总金额. 数据类型有int整数表示.
输入
多组数据,
第一行输入一个整数(表示客户所付的金额),如100
第二行输入一个整数(表示商品的总计金额),如25
输出
第一行输出 应找的零钱,如75
第二行输出 金额面值1*张数1+金额面值2+张数2+....+金额面值N*张数N=零钱数。(面值较大的零钱优先排在前面,如50元比20元大,应排在前面)
样例输入复制
100
25
95
2
样例输出复制
75
50*1+20*1+5*1=75
93
50*1+20*2+1*3=93
while True:
try:
res=[]
pay=int(input())
commodity_sum=int(input())
recovered=pay-commodity_sum
rest=recovered
wushi=0
ershi=0
shi=0
wu=0
yi=0
while recovered//50:
wushi=wushi+1
recovered=recovered-50
while recovered//20:
ershi=ershi+1
recovered=recovered-20
while recovered//10:
shi=shi+1
recovered=recovered-10
while recovered//5:
wu=wu+1
recovered=recovered-5
yi=recovered
if wushi:
res.append("50*"+str(wushi))
if ershi:
res.append("20*"+str(ershi))
if shi:
res.append("10*"+str(shi))
if wu:
res.append("5*"+str(wu))
if yi:
res.append("1*"+str(yi))
result=""
result="+".join(res)
result=result+"="+str(rest)
print(rest)
print(result)
except EOFError:
break