题目要求
买单时,营业员要给用户找钱。营业员手里有10元、5元、1元(假设1元为最小单位)几种面额的钞票,其希望以尽可能少(张数)的钞票将钱换给用户。比如,需要找给用户17元,那么其需要给用户1张10元,1张5元,2张1元。而不是给用户17张1元或者3张5元与2张1元。
函数接口定义:
giveChange(money)#money为要找的钱。经过计算,应按格式"要找的钱 = x*10 + y*5 + z*1"输出。
裁判测试程序样例:
/* 请在这里填写答案 */
n = int(input())
for i in range(n):
giveChange(int(input()))
5
109
17
10
3
0
109 = 10*10 + 1*5 + 4*1
17 = 1*10 + 1*5 + 2*1
10 = 1*10 + 0*5 + 0*1
3 = 0*10 + 0*5 + 3*1
0 = 0*10 + 0*5 + 0*1
参考代码
def giveChange(money): # money为要找的钱。经过计算,应按格式"要找的钱 = x*10 + y*5 + z*1"输出。
ten = money // 10
five = (money - ten * 10) // 5
one = money - ten * 10 - five * 5
print("%d = %d*10 + %d*5 + %d*1" % (money, ten, five, one))
def giveChange(money):
i = 0
j = 0
k = 0
temp = money
i = temp // 10
temp = temp % 10
j = temp // 5
temp = temp % 5
k = temp
print(f"{money} = {i}*10 + {j}*5 + {k}*1")