ここでは、最適な支払いをなるべく速く行うための考え方を示します。
例として、726円の買い物をしたとして説明をしていきましょう。
まず、1の位から考えます。
この例だと、下一桁は6なので、財布の中に1円玉があるのかないのかを調べます。もしあった場合にはこれは払うことに決定し、残り725円の支払いを考えます。1円玉がなかった場合には1円玉4枚をお釣りとして受け取ることが確定しますので、残りを730円と考えて計算を続けます。
次に5円玉について考えます。残りが730円となっている場合には、5円玉があってもなくても関係ありません。残り725円で考えている場合には、もしあればこれを支払い、残り720円で考えます。ない場合にはお釣りとして5円玉をもらうことが決定し、残りを730円として計算を続けることになります。
以下同じ様に10の位について見ていきます。
残りが730円となっている場合には、10円玉が三枚あるのかどうかを調べます。もしなかった場合には20円のお釣りを貰うことが確定するので、残り750円として次に50円玉の有無を調べます。仮に50円玉があったとすると、これを支払い残り700円となります。
最後に100の位についても同じことを行います。
例えば、1円玉が一枚あって5円玉がなかった場合には、この時点で730円。30円がなくて50円があった場合にはこの時点で残り700円。200円があって、500円玉がなかったとするとこの時点で残り1,000円となりますので1,000円札を出すことになります。
結局、支払いの合計は1,251円となり、それに対するお釣りは525円です。
基本的にはこのように、1の位から順に考えていけば良いのですが、途中で残りがいくらなのかが分からなくなってしまうことがよくあります。そこで、もう少し簡単な考え方として方法2を提案します。