お釣りに関して

 以前まで、小学生の頃からずっとおつりの計算に以下の(1)式を用いていたのだが、そんな計算を皆はしていないという友人の指摘を最近受けて(2)式に変えた。しかし変えたことを報告すると友人にさらにダメ出しを受けたので、何がいけなかったのか考察するために書き出すことにした。なお、多くの場合硬貨で支払う程度の金額のため、エントリー内では紙幣という表現は冗長になるため避けた。同様の方法で解決している。

(1)式

・コンセプト
 財布の中に5円・50円・500円が複数存在しない状態を保つ


・プロセス

0:財布の中の各硬貨の枚数を確認
1:代金の1桁目の数字が… 5-9→2へ 0-4→4へ
2:財布の中に5円玉は… ある→3へ ない→4へ
3:代金から5円を引き、5へ (支払い時に、出た数字に加えて5円を別に払う)
4:代金に5円を足して、5へ
5:1円玉の枚数がこの時点で足りなく、かつ1桁目が0でない場合、10の位に切り上げる
6:同様のプロセスで最後まで計算を終える
7:最終的に出た数値の金額を払うと、硬貨が十全な場合お釣りの全ての桁は0か5で表され、5のプロセスを踏んでいる場合は1-4で表される。この場合、高確率で次の買い物では5のプロセスを踏まないことになる


・問題点
 計算が若干煩雑(慣れれば1秒強で3桁は行けるが)
 分岐点が存在するため、額によっては計算が長くなりやすい

(2)式

・コンセプト
 財布の中に5円・50円・500円が複数存在しない状態を保つ
 煩雑な計算ステップを踏まない


・プロセス

0:財布の中の各硬貨の枚数を確認
1:代金の一番上の位が… 0-4→2へ 5-9→3へ
2:その位の硬貨が財布に存在すれば5で始まる硬貨を、なければ3へ
3:そのひとつ上の位の1で始まる硬貨を、なければ5で始まる硬貨を出す
4:2・3で出した硬貨から代金を引き、仮のお釣りを出す
5:お釣りに対して、手持ちの金額の中で足せば5になる、あるいは繰り上がる桁を計算し、追加で支払う
6:繰り上がりに注意して全桁の計算を終えたら支払う


・問題点
 プロセス数や分岐点は少ないものの、5のプロセスが煩雑
 額によっては繰り上がりの計算でのミス発生率が高い

解決法・および友人の言う正解

・解決法その一
 (2)式に近いが、(2)式でいうと3のみを以って終了とする方法

・解決法その二
 クレジットカードや電子マネーを使う


 まず驚いたのは、それなりの数の人間が本当に計算せずに支払いを済ませているという事実だった。計算は面倒ですか。確かにそれでも大丈夫だけれど…几帳面すぎなのだろうか。
 文章化すると複雑なプロセスかのように思えるが、実際はごく自然に行っている計算方法。なにそれこわい、という反応をもたれるということは、僕が間違っていたのだろうか。

 とりあえずのところ、あまり硬貨の枚数を気にするべきでないという意見は確かに正論。長財布とコインケースは分けて持つべきだろうか。でも長財布欲しいなあ、確かにかっこいいです。