题目:如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元
使用贪心算法非常简洁,从最大硬币面额开始算起,就会使用最少硬币
t=[1,3,5] #硬币面额
def change(t,n):
m=[0 for _ in range(len(t))] #创建一个跟硬币面额数一致的数组,用来存储对应的面额硬币的个数,初始为0
count=0
t.sort(reverse=True) #将硬币面额从大到下拍好序
for i,money in enumerate(t):
m[i] = n // money
n = n % money
for j in m:
count+=j
return count
print(change(t,11))