小明现在有x元,现在想买一件y (y≤x)元的物品,商店里有五种货币,50元、20元、10元、5元、1元无限张,服务员会以最少的数量找零钱。问小明用x元买了一件y元的物品后找了多少张零钱
时间: 2024-03-01 07:50:44 浏览: 139
货币找零计算找给顾客固定钱数的最小货币量
这道题可以用贪心算法解决,具体思路是:
1. 计算需要找回的钱数 change = x - y。
2. 从大到小枚举五种货币,对于当前货币面额的钞票,尽可能多的使用,直到无法再使用该面额的钞票。
3. 计算使用了多少张当前面额的钞票,累加到总数 count 中。
4. 如果当前面额的钞票已经使用完,则继续枚举下一种货币面额。
5. 重复步骤2-4,直到找完所有的钞票。
下面是一个 Python 代码示例:
```
def get_change(x, y):
change = x - y
count = 0
for coin in [50, 20, 10, 5, 1]:
if change >= coin:
count += change // coin
change %= coin
return count
```
其中,`//` 表示整除操作,即取商的整数部分。你可以调用这个函数来解决你的问题。
阅读全文