算法学习笔记:对指定金额计算最少钞票数

举报
howard2005 发表于 2021/11/19 03:56:57 2021/11/19
【摘要】 算法学习笔记:对指定金额计算最少钞票数 一、引出问题 财务人员给员工发工资时经常遇到这样一个问题,即根据每个人的工资额(以元作为单位)计算出各种面值的钞票的张数,且要求总张数最少。例如,某职工工资为3436元,发放方案为:100元34张,20元1张,10元1张,5元1张,1元1张。 二、解决问题 1、采用贪心算法(Greedy ...

算法学习笔记:对指定金额计算最少钞票数

一、引出问题

财务人员给员工发工资时经常遇到这样一个问题,即根据每个人的工资额(以元作为单位)计算出各种面值的钞票的张数,且要求总张数最少。例如,某职工工资为3436元,发放方案为:100元34张,20元1张,10元1张,5元1张,1元1张。

二、解决问题

1、采用贪心算法(Greedy Algorithm)

(1)有6种面额:1、5、10、20、50、100

凑出某个金额,需要用到尽可能少的钞票。

能用100的就用100,否则尽量用50,……以此类推,这就是贪心算法。


  
  1. """
  2. 6种面额:1, 5, 10, 20, 50, 100
  3. 采用贪心算法,对指定金额计算最少钞票数
  4. """
  5. def f(w, notes):
  6. counts = []
  7. for i in range(len(

文章来源: howard2005.blog.csdn.net,作者:howard2005,版权归原作者所有,如需转载,请联系作者。

原文链接:howard2005.blog.csdn.net/article/details/103095290

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。