10.4.2 货币选择问题

更新于 2026年10月10日 版权声明
10.4.2 货币选择问题

三酷猫去购物中心购买价格为2555元的手机,他手里有100元20张、50元20张、20元3张、10元1张、5元12张,怎么支付所需要钱的数量最少?

这是一个典型的贪心算法求解问题,先用最大面值100元支付最多张数的钱、再用50元支付最多张数的钱,依次类推,直至满足支付,把分解的所有面值的钱相加,就得到最少钱的张数。

代码文件:10_4_2_SelectMoney.py

图示(https://www.daowen.com)

上述代码执行结果如下:

图示

注意

本算法正确解答的前提,对不同面值的钱按面值进行从大到小的排序。无序或升序排序的钱记录,都会导致算法结果不正确。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)