算法之斐波那契数列,贪心算法——找零问题

 斐波那契数列

复制代码
def fib(n):
    '''裴波那契'''
    f = [1,1]
    for i in range(2, n+1):
        f.append(f[-1]+f[-2])
    print(f)
    return f[n]

fib(5)
复制代码

 

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

# greedy algorithm

money = [100,50,20,5,1]

def change_money(x):
    change = [0,0,0,0,0]
    for i,m in enumerate(money):
        change[i] = x // money[i]
        x = x % money[i]
    if x > 0:
        print("还剩%s" % x)
    return change

print(change_money(356.2))

 

posted @ 2018-03-07 15:01  听风。  阅读(754)  评论(0)    收藏  举报