In [12]: def main():
...: d = [0.01,0.02,0.05,0.1,0.2,0.5,1.0]
...: d_num = []
...: s = 0
...: temp =input('counts: ')
...: d_num0 = temp.split(" ")
...: for i in range(0,len(d_num0)):
...: d_num.append(int(d_num0[i]))
...: s+=d[i] * d_num[i]
...: sum = float(input('change: '))
...: if sum>s:
...: print('change is big!')
...: return 0
...: s = s-sum
...: i = 6 #从大的面值开始遍历
...: while i>=0: #贪心算法的本质,每次向目标进一步
...: if sum>=d[i]:
...: n = int(sum/d[i])
...: if n >d_num[i]:
...: n = d_num[i]
...: sum = sum-d[i]*n
...: print('用了%d个%fyuan coin'%(n,d[i]))
...: i = i-1
...:
...:
In [13]: if __name__ =='__main__':
...: main()
...:
counts: 1 1 1 1 1 1 1
change: 0.8
用了1个0.500000yuan coin
用了1个0.200000yuan coin
用了1个0.100000yuan coin
Python贪心算法-找零钱问题
猜你喜欢
转载自blog.csdn.net/weixin_40539952/article/details/104212301
今日推荐
周排行