最小硬貨関数 (11/1)
とうとう十一月になった。いかがお過ごしだろうか。僕は滅多に風邪をひかないのだが、ここ最近の寒暖差で少し体調を崩してしまい、鼻声&鼻づまりである。そろそろ一限に出るのもしんどくなってくる季節といえる。
さて、慣れない前置きを済ませたところで、今日ふと考えた「最小硬貨関数」の話に駒を進める。最小硬貨関数とは、勝手に僕が名付けたもので、定義は、「ある金額xに対して、それを支払うことのできる最小の硬貨枚数」である。無論、xについての関数である。
これをx=1~100まで描画してみると、なんとも不思議な(しかし見る人にとってはおそらく自明な)形をしたグラフが出来上がる(図1)
同じくらいの大きさの平行四辺形が二つ浮き上がり、よく見ると、周期5で段々になっていることがわかる。
また、周期は平行四辺形の返上で交互にでこぼこしている。しかし、よく考えたら、天下り的ではあるものの、「まあ当たり前か」という平凡な帰結に辿り着く。もう少しxが大きいところまで調べてみよう。以下の図2が出来上がる。
見えてきた規則性としては、例えば10の区切りごとにみると、下一桁が0~4のときから、それぞれ+1したのが5~9の値となる。これは下一桁が5のときに五円玉の分を加算するからで、何も難しくない。そして、もう一回下一桁が0になれば、前回の10個のサイクルに、十円玉一枚分を加算するから、グラフとしては上に一桝あがる、という構造をとっている。きわめてシンプルだ。
ほかに特筆すべきことはなく、強いて言うなら、50円ごとにガクンと値が下がることくらいで、これも形としては特徴的ではあるが、50円玉、100円玉という構造上、当たり前のこと。
なんだ、めちゃくちゃおもんないじゃないか……。これから何書こう。
しかし、まだ案がある。この最小硬貨関数は、勿論のことだが、硬貨の仕組みに依存する。どういうことかというと、上のようなグラフになったのは、僕らが普段、1円玉、5円玉、10円玉、50円玉、100円玉、500円玉という分類で生活しているからである。これを、例えば、2円玉、3円玉、5円玉、7円玉……のように、分類を変えることで、最小硬貨関数はいくらでも形を変えうる。このように、「硬貨の分類」を変数と見たときに「最小硬貨関数がどんな形をとるか」を見ることもできる。
これは少し高度なことで、「関数を一つの変数とみる」ことと似ている(関数を変数にとる関数のことを汎関数という)。
以降、硬貨の分類に対して、最小硬貨関数がどのような振る舞いをするか、見ていこう。明日から。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?