这是一个用最少硬币支付指定额度的问题。
一、问题描述:如下图图一,设有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枚硬币。这个方案用的硬币个数最少。