找零问题

找零问题

假设商店老板需要找零n元钱,钱币的面额有: 100元、50元、20元、5元、1元,如何找零使得所需钱币的数量最少?

解题思路:从最大面值的开始找,先找100,再找50,以此类推

# 贪心算法,找零问题
t = [100, 50, 20, 5, 1]

def change(t, n):  # n为要找的钱
    m = [0 for _ in range(len(t))]
    for i, money in enumerate(t):
        m[i] = n // money
        n = n % money
    return m, n

print(change(t, 376))

 

posted @ 2023-06-16 20:21  天才九少  阅读(91)  评论(0)    收藏  举报