失礼します。

とある(任意の)通貨体系、例えば361、147、75、1円玉なんていう無茶な通貨だとして、
お釣りの値を入力したら最小の枚数で切り抜けるプログラムを考えます。

この場合例えばお釣りが150円だったら、147×1、1×3で計4枚でなく、75×2で計2枚となるのが正解です。

通貨体系もお釣りも任意に与えられるので、それぞれがどんな値であっても最小の枚数を出すプログラムなんですが、これを考えるとき、どんなアルゴリズムが考えられますか?

申し訳ないのですがお早めに答えて頂けると助かりますm(_ _)m