数学、算数。身の回りはガウス記号だらけ。ガウス記号で遊ぶ

数学、実質的には算数でも、実数の整数部分を表すガウス記号というやつが登場する。
y=[x]
x=2.3ならy=2、x=√2=1.41…ならy=1という具合だ。xが5ならyもそのまま5である。
マイナスのときは注意が必要で、[-3.14]=-4である。

ここでガウスの定義を確認すると
[x]はxを超えない最大の整数
である。だから[-3.14]=-4なのも納得してもらえるだろう。

ここでnを整数として[x]=nであるとき
x=n+α(0≦α<1)とおける。(0≦α<1)の部分まで正確に覚えておくと小数部分の議論などに役立つ。またガウス記号を外せるわけだから例えばxを何倍かしたり2乗するなどの計算をするときも使える。
高校生は是非覚えておいてほしい。

ガウスの問題を見ると面喰らう人もいるようだが、実は身の回りはガウスだらけだ。
電気、ガス、水、ガソリン、タクシーでの移動距離などは連続量なのに、それを支払うお金は一円単位、つまり飛び飛びの値だ。こんなときガウスを使って金額を表すことができる。
切り上げ、切り捨て、四捨五入なども例えば3.5~4.5の手前までは四捨五入して4だったのが、4.5になると突然5となる。このように急に切り上がるようなものを表すのにガウス記号が使えるのだ。

またポイントカードなどの「100円で1ポイント」というのも100円未満は切り捨てられ、100円で1ポイント「ジャンプ」して獲得するからやはりガウスが使えそうだ。

以前とあるディスカウントショップではレジに一円玉がたくさん置いてあって「10円未満の端数を支払うのに9円以内で使ってください」と書いてあった。(もしかしたら4円以下だったかも)
つまり支払う金額は10円単位となる。
値段のする飲食店の中には1000円未満の端数はサービスで切り捨ててくれたりするお店もあって、これもディスカウントショップと同じ考え方だ。1000円単位での支払いとなるのでガウスが使えそうだ。

タクシーは初乗りが例えば0~1000mまでは500円でその後は200m毎に80円加算される。ここまで聞くとガウスが使えそうなのはわかってもらえるだろう。


さっそく例を示していこう。
切り捨ては3.1は3となるし、√2は1.41…なので切り捨てると1だ。また3は3のままとなる。これは実数xに対して、小数点以下を切り捨てた値をyとすると

y=[x]
ガウス記号そのままだ。

切り上げは3.1なら4となり、√2は切り上げて2となる。そして3は切り上げても3だ。
切り捨てと比較してみればわかるように切り捨ての値に+1すればよさそうだが、xが整数のときはそのままだ。よって

y=[x]+1(xが整数ではないとき)
y=x(xが整数のとき)
となる。
シンプルだが、場合分けがあるのが気になるといえば気になる。後半では場合分けをしないで一つの式で表すことを試みる。少々難しいが、興味ある人は読んでみてほしい。

次は小数点以下の四捨五入だ。
3.5は四捨五入で4となる。3.8も4.499も4であり、4.5は5になる。4.5で「ジャンプ」している。
つまり
3.5≦x<4.5においてy=4
4.5≦x<5.5においてy=5…のようになる。

これを、切り捨ての式y=[x]と比べてみよう。
3≦x<4においてy=3
4≦x<5においてy=4
5≦x<6においてy=5…のようになる。


0.5を足したり引いたりすればよさそうだ。

y=[x+0.5]となる。
ちなみに負の数の四捨五入はどうなるのか?
-2.5を-3とするのか-2とするのかだ。ここも少し難しい話が出てくるので後半に回そう。

さて激安のディスカウントショップのお会計だが、
購入金額の合計が190円から199円までの支払いはレジの一円玉を使えば、自分の支払い額は190円、そして購入合計額が200円になると「ジャンプ」して支払いは200円となる。10円単位での支払いとなるというのはこういうことだ。
購入合計額をx円、自分で支払う額をy円とするとどうすればいいだろうか。


これは1のくらいの数を切り捨てたいわけだから、ガウスを使ってこれを成し遂げるには…まずxを10で割ってしまえばいいのだ。そこにガウス記号を適用する。
そうすると例えば198円ならまず10で割って19.8。そのガウスを取ると[19.8]=19となるが、支払額はもちろん19円ではなく190円なのだから10倍すれば正しい値になりそうだ。よって
y=[x÷10]×10
となる。

100円で1ポイントも1000円以下の端数金額切り捨ても同じ要領で、623円なら6ポイントだから100で割って6.23としてからガウスを取り6。それに100を掛ければよい。

昔消費税が3%だった時代に50円のものを2個買って100円という状況で、2回に分けて買うと1円お得だった。
これは100円で3円の消費税は33~66円だと1円、67~99円だと2円のように切り捨てだったのだろう。50円だと1円しか取られなかったのだ。
わざわざ2回に分けて会計すると消費税は2円、一度に会計すると100円なので3円取られる。「1円得した」と言って幼少期に喜んでいた。近所の駄菓子屋のおばちゃんもそれに付き合ってくれていた。


タクシーの値段だが初乗り1000mまで500円、その後は200m毎に80円加算されていくとしよう。
走行距離をx、タクシー代をyとすると、200mで80円加算を何回したのか考えればよい。


さっきのポイントカードの要領で、200で割ってガウスを取れば加算回数となる。
[x÷200]が「骨格」となるが、これはもちろん不正確だ。xが1000になると加算は1回目となる。1200で2回目、1400で3回目となる。
[x÷200]と比べてみるのがいいだろう。200で1回目、400で2回目、600で3回目となるから
[(x-800)÷200]とすればよさそうだ。切り捨てと四捨五入を比べてみて、定数を足したり引いたりするというアイディアは同じだ。
そしてこれに80を掛ければ加算金額となる。1000m未満はずっと500円で1000m以上で今考えた加算金額を初乗り500円に順次加えていくから

y=500(0<x<1000)
y=500+[(x-800)÷200]×80(x≧1000)
となる。しかしこれも先程の切り上げと同じで場合分けを含んでいる。これについても後半場合分けなしバージョンを作った。数学好きな人は考えてみてほしい。
またx=1000の前後で場合を分けているがx=800の前後で分けても値は正しく出る。

さてここからは場合分けがなくて済む式や、負の数の四捨五入を考えてみよう。少々込み入っているので、数学が好きな人向けの内容となる。


そもそも場合分けはなるべく使わない方がいいのだろうか。
もし使ってよいならnを整数として、切り捨てを
y=n(n≦x<n+1)
と表すこともできる。これは見た目こそシンプルだが実際はn通りの場合分けをしていることになる。
極論を言えば、xが◯のときyは◯のように個々の値を書き連ねていいことになってしまうが、xやyのような文字は何を入れてもいいというのが代数学の基本的な考え方だ。つまり場合分けしないで一つの式で表せるのが望ましい。
今から示す考え方はガウスに限らず、数学のベーシックな思考を駆使しているので参考にしてほしい。


まず切り上げの場合分けをなくす式を考えよう。
切り上げの場合分けありバージョンは
y=[x]+1(xが整数ではないとき)
y=x=[x](xが整数のとき)
であった。

切り捨ての式
y=[x]は以下のようなグラフになるのは見たことあるだろう。その値が入ることを示す●から、その値が入らないことを示す○まで連続している●-○が階段状になるのは納得してもらえるだろう。

              ●-○
            ●-○
          ●-○
        ●-○
      ●-○
    ●-○
  ●-○
●-○

では切り上げはどうなるか。具体的な値を当てはめていけば、以下のように○-●が階段状になるグラフとなることがわかるだろう。

            ○-●
          ○-●
        ○-●
      ○-●
    ○-●
  ○-●
○-●

連続した部分に目を向けると、切り捨てとは○●の向きが逆となる。何かを足したり引いたりしても逆にはできそうにない。ではどうするか。

逆向きにするには-をかけるとよいのではないだろうか。xを-xに置き換えると一般にy軸対称になる。
y=[-x]のグラフは以下のようになる。


○-●
  ○-●
    ○-●
      ○-●
        ○-●
          ○-●
            ○-●
              ○-●

これで○●の向きは切り上げと同じになったが、yの値の2倍をx軸正方向に動かす必要がある。これは平行移動だ。平行移動では例えばx方向に2移動させたければ、xをx-2に置き換えればよいのだが、ここでxをx-2[x]に置き換えるわけにはいかない。なぜなら平行移動する値自体にxが入っているが、そのxは置き換えをしていないからだ。
実際y=[-(x-2[x])]としてみたところで2.4などを入れてみると切り上げた値である3になっていないのがわかる。
ではどうするか。ここでy=[-x]のグラフと求めたい切り上げのグラフを見比べてみると、実はx軸で折り返すとぴったり同じグラフになっている。
これはx軸対称つまりyを-yに置き換えることだから
-y=[-x]となり、y=-[-x]
これが答えとなる。実際、整数のときも整数以外のときも正しくなりそうだ。場合分けをしなくてよくなっている。
この解き方の気に入らない点はグラフがx軸対称だということに「気付く」ということが必要だということだ。
数学を教えるときには「発見」や「ひらめき」をなるべく排除した解法を提示するように心掛けている。

切り上げと切り捨ては、xが整数のときはどちらも
y=xで等しい値だ。そしてそれ以外では切り捨ての値に+1すれば切り上げた値となる。つまり
1・・・・ ・ ○-●
0・・・・ ・ ●
       n n+1
これを一つの式で表現して[x]に加えればよいことになる。
○●の順序がガウスと逆向きである事態は変わらない。なので-がどっかで出てきそうだ。

まず小数部分が0ではない値は全て1に変えたいわけだが、小数部分とは前半で紹介したαだ。これをxで表すとα=x-[x]となる。これをそのままガウスをとった[α]=0になるから[α]+1とすればよいかと思うがこれはまずい。なぜならαが0のときにも[α]=0となってしまうからだ。
当然だろう。0も0より大きく1より小さい数でもガウスはどちらも0になるのだ。しかしここで-αを考えると0は0になり、0より大きく1より小さい数だとガウスは-1となる。これをさらに-1倍すれば整数のとき0、それ以外1というのが出来上がり完成だ。つまり-[-(x-[x])]を[x]に加えればよい。整理して
y=[x]-[[x]-x]となる。

「いやいや、最初にやったy=-[-x]の方が簡単でしょ」と思われるかもしれないが、発見ではなく論理で出せるところがこの考え方のいいところだ。

次にタクシー代の場合分けのない式を作ってみよう。
初乗り500円に加算されていく+[(x-800)÷200]×80の部分が「あるかないか」で場合分けされている。
これは言い換えれば加算金額の部分
+[(x-800)÷200]×80が1000mまでは0倍となり、1000m以上では1倍となればよいということだ。
つまり

1・・・・・        ●─────────────
     
0・・・・・  ○─────○
         0   1000          ∞

このようなグラフで表される式を作ればよい。
まず0~1000まで0が続くことから[x÷1000]が必要になりそうだ。ではさっきの切り上げのときの考え方で[[x÷1000]-(x÷1000)]のようなことをやるのだろうか。違いそうだ。
切り上げの議論では整数が来るごとに0になってそれ以外が1となるが、今回は1000以上でずっと1である必要がある。
αのように0~1に「閉じ込める」にはどうすればいいだろうか。[x÷1000]の部分は1000未満では0になってくれる。そのあとxがどんなに大きくなっても1までに収まるためには、、、

正の数であれば、自分自身より大きいもので割ればよいのだ。
今回x>0なので例えば[x÷1000]+1で[x÷1000]を割ってやればよい。その値をtと置くとxが1000未満のときは0、1000以上では0より大きく1より小さい数となるのだ。
あとはさっきの議論と同様に
-[-t]もしくは-[[t]-t]がx<1000で0、x≧1000で1となる。[t]は当然0だから同じになるのも当然だ。

タクシー代yは
y=500-[-t][(x-800)÷200]×80
となり、場合分けはなくなった。


最後は負の数の四捨五入だ。
-3.5を四捨五入すると-4だろうか?それとも-3だろうか。これは定義の問題だ。
絶対値を考えると3.5の四捨五入が4なのだから-3.5の場合は-4となる。
-3.5=-4+0.5のようにガウスの小数部分の定義と同じように表すと、0.5を四捨五入して1に変える。そうすると-3となる。
この定義だと0.5を足してガウスを取るということで正のときと変わらない。
よって全実数でy=[x+0.5]としてよい。

私は絶対値で四捨五入を考える方がふさわしいと思う。なぜなら切り捨てとか四捨五入といった概数は「だいたいいくつなのか」を表す。「3.5という数字を4に近いものとしよう」としているなら、ガウスの小数部分を揃えるという取り決めから発想が導かれている後者の定義は直接的に感覚的とは言えない。3.5が4なら-3.5は-4という方が感覚的には素直ではないだろうか。
ただ繰り返しになるがこれはあくまで定義をどう取るかの問題にすぎない。
では絶対値に基づく負の数の四捨五入の式を作っていこう。

まず絶対値で考えて、正のものと同じでよいといっているわけだから、
[|x|+0.5]として-をつければよさそうだ。
y=-[|x|+0.5]
0のときも問題なさそうだ。
これで終わりにしてもよいのだが、これだと場合分けが出てきてしまうことになる。xが正のときは
y=[x+0.5]=[|x|+0.5]となり-はついていない。

これをなくせないだろうか。つまり正のとき1で負のとき-1となる数を表して掛ければよい。xが0のときは有限の実数であれば何でもよく、「0で割る」のような形になっていなければよい。

1            ───────────────

-1 ─────────────
            0

これをxの関数で表せればいい。まずxが正でいくら大きくなっても同じ値ということからタクシーのところで出てきた、自身より大きいもので割ってガウスをとるとよいのではないだろうか。
つまり「骨格」は[x÷(x+1)]となる。+1の部分は+2でも+3でもよいことは先程と同じだ。
しかしこれは明らかに負のときまずいことになりそうだ。x=-1のときは0で割る形が出てきてしまう。正のときと負のときが対称になる、これを狙うには絶対値の登場となる。そして分母に0が出てこないようにするには、、

[x÷(|x|+1)]とするとどうだろう。
x≧0でずっと0
x<0では分母の絶対値が分子の絶対値より小さいからx÷(|x|+1)は-1から0未満となり[x÷(|x|+1)]はずっと-1だ。
ほしいのはx≧0でずっと1、x<0でずっと-1だ。
だがこれは簡単だ。[x÷(|x|+1)]を2倍して1を足せば出来上がる。グラフの形は求めたいものと同じものが出来上がったのだからあとは定数倍したり定数を足したりすればできるはずなのだ。
よって答えは
y={2[x÷(|x|+1)]+1}[|x|+1]
となる。

いががだっただろうか。前半は常識的な内容だったのに対し、後半はかなりいかつくなったが、不連続を扱うのにガウスはかなり応用範囲が広いということに思い至るのではないだろうか。使う知識も何とか高校範囲で納めることができた。
答え合わせはしていないので、もし間違えてるところや別解があれば教えていただけるとありがたい。

この記事が参加している募集

算数がすき

数学がすき

この記事が気に入ったらサポートをしてみませんか?