贪心算法经典问题:硬币找零

这是一个用最少硬币支付指定额度的问题。

一、问题描述:如下图图一,设有6种不同面值的硬币,各硬币的面值分别为5分、1角、2角、5角、1元、2元。现要用这些面值的硬币来购物和找钱。购物时规定了可以使用的各种面值的硬币个数。

图一,这里表示六种不同币值的硬币
假定商店里各面值的硬币足够多,顾客也可用多种方式支付,在一次购物中希望使用最少硬币个数。举一个例子,一名顾客需要付款,0.55元,但她身上没有5角的硬币,如下图图二所示,展示了一种情况,顾客用0.2+0.2+0.1+0.05共4枚硬币来付款。

图二,方案一
下图图三展示了另一种情况,顾客支付1元,商店找回4角5分。这个情况同样需要4枚硬币。

图三,方案二
下图图四展示了最佳情况。如果顾客付出1.05元(1枚1元和1枚5分),商店找回5角,整个过程只需要3枚硬币。这个方案用的硬币个数最少。

图四,最佳方案!

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值