找零钱问题
贪心算法
在对问题求解时,在特定规则下,总是做出在
当前看来是最好的选择
#运算案例 # 请尝试运行以下代码 print(5//2) print(6//4) print(3//2)
目标:找47元 纸币:1、5、10、20、50
规则:使找的零钱的纸币张数最少
#定义要找的目标价值 target=47 #定义币值列表 money=[50,20,10,5,1] #需要的数量列表 number=[0,0,0,0,0] #循环,进行计算 for i in range(5): #计算需要多少张当前面值 number[i]=target//money[i] #计算还剩下多少钱 target=target%money[i] #打印结果 for i in range(5): print("需要",money[i],"元的纸币",number[i],"张")
你有很多张88元、44元、22元、1元、1元的纸币,输入个要支付的钱数,请你输出最少要用多少张纸币才能完成支付,并输出此时每种纸币需要用多少张。
By yang he