というわけで久しぶりの数学ネタです。今回は小学生でも利用はできるあまりを使った検算の話です。
何でこんなことを書こうかと思ったか?というと、とあるアルバイトで数を数えることが多いのでそのときに簡易的に利用している計算の方法をネタにしてみようか、というところから始まっています。
この「あまり」を使った計算はとても奥が深いです。小学生では三年生で学習する話であり、小学校の高学年であればあまりの計算くらいであればそれなりにできるようになるのですが、しばらく分数やら無理数やらで存在が忘れ去られて・・・なぜかさらに上位の数学になると整数環の場面でいきなり再登場して応用として暗号系に使用する、というほとんどの人は知っているのに極めるととんでもないことになる面白いものだと思います。
一応算数オリンピックで出たと記憶している(もしかして数学オリンピックだったかも)ある問題にからめて行きたいと思います。
また、これも数学遊びの一種ですが余り気を張らずに読んでみるといいと思います。
そもそも「あまり」とは?
難しく言うと剰余です。小学校などの整数では「割り算をしたときに割り切れなかった数をあまりとして表す」だったと思います。たとえば「13÷4=3…1」のように書くと「13割る4は3あまり1」となり、「4×3+1=13」を考えていることになります。
このときにの「1」があまりですね。
なお、集合論等まで上がると同値類やら商集合という考え方が出始めて、環論に入るとイデアルや剰余環からあまりに関することを考えていくことになります。この部分まで行くとはじめて原理が見えてくることになります。今回はこの辺に少し触れながら行きたいと思います。
まず、小さい数で割ったときのあまりをどうやって求めるのか?
このあたりから考えていきましょう。まずは「割り切れる」ことに重視した算数オリンピック(or数学オリンピック)にあったと記憶している問題から。 言葉使いは違っているかも知れませんが意味は同じです。
0,1,2,3,4,5,6,7,8,9の数字を一回ずつ使ってできる数で1~9の全ての数で割りきれる最小の数は何か答えなさい。ただし、0は最上位桁にはないものとする
初めに「1~9で割り切れる」をできる限り簡単な方法で調べることに注目します。どんなに大きい数でもある方法で桁の少ない数で考えることができれば上の問題の手助けになります。まずは簡単な数からいきます。
割る数字 | 簡単に調べる方法 |
1で割り切れる | 全ての整数は1で割り切れる |
2で割りきれる | 偶数=下一桁が2の倍数である数は2で割り切れる |
5で割りきれる | 下一桁が0もしくは5である数は5で割り切れる |
偶数の性質や5の倍数の性質からこの付近はすぐに分かると思います。で、少しずつ難しくなっていきます。これ以降は数を文字で表すことを考えることができればいけます。
割る数字 | 簡単に調べる方法 | 成立する理由(を見つける方法) |
3で割りきれる | 全ての桁の数をそれぞれ足してそれが3の倍数である(例:1188は1+1+8+8=18なので割り切れる) | 数を文字式で書いて3をくくりだしてみる |
9で割りきれる | 全ての桁の数をそれぞれ足してそれが9の倍数である | 数を文字式で書いて9をくくりだしてみる |
4で割りきれる | 下二桁が4の倍数である | 4×25=100なので三桁以上の数で下二桁が0であれば4の倍数 |
8で割りきれる | 下三桁が8の倍数である | 8×125=1000なので四桁以上の数で下三桁が0であれば8の倍数 |
6で割りきれる | 2で割り切れ、さらに3で割り切れる | 倍数の意味を考える |
なお、確か7で割り切れるかどうかを確認する一般的な方法はなかったと思います。あったら教えて下さい。
これから「1~9の全てで割り切れる」は「5,7,8,9で割り切れる」だけで良いことが分かり、さらに上の性質から問題の数は
- 下三桁は8の倍数でかつ下一桁が0もしくは5 =>下一桁は0で確定。また下二桁目は偶数(下三桁目と下二桁目で4の倍数となるため)
- 全ての桁の数をそれぞれ足してそれが9の倍数、そして0~9を全て使う=>0+1+2+3+4+5+6+7+8+9=45で9の倍数なのでどんな順番で並べても9の倍数
ということになり、結局「下一桁目は0であり、下三桁目と下二桁目を二桁の数と考えるとこれが4の倍数であり、全体として7の倍数である」という状態であれば良いことが分かります。あとは数を適当に並び替えれば問題の答えを見つけることができます。(ちなみに答えは1234759680)
あまりを使った検算を考える
上記の調べるところでいくつか分かることがあると思いますが、
- 対象の数を3(もしくは9)で割ったときのあまりはそれぞれの桁を足して3(もしくは9)で割ったときのあまりに等しい
- 対象の数を2,4,5,8で割るとき、ある桁以上はあまりに関係しないのであまりに関係する桁だけを見ればあまりを求めることができる
これとあまりの演算に関する一つの定理を持ってきてつなげます。それは「整数上で加算および乗算を行った後整数で割ったあまりを求めるとき、加算および乗算を行う前にあまりを計算し、そのあまりで対象の演算を行い再度あまりを求めた結果は等しい」というものです。本来の定理はもっと一般的になる(難しく言うなら合同式や環論の言葉で書けばもう少し一般的になる)のですが、今回はこれで十分です。
この二つを合わせると、たとえば「4872×236945の計算結果は1154386040となるか?」という問題も電卓無しで考えることができます。この場合は全ての桁をチェックできる9で検算することが多いです。9であまりを取ってみると4+8+7+2=21(そして2+1=3)、2+3+6+9+4+5=29(そして2+9=11、1+1=2)、1+1+5+4+3+8+6+0+4+0=32(そして3+2=5)だから3×2=5となっているので間違いだ、ということになります。(ここまでくれば実際に電卓で計算してみて下さい。さて、どこに間違いがあったでしょうか?)ちなみに、ここでは扱いませんが11でも9と同じような計算ができますのでこれも合わせばだいたいの数で検算ができるようになります。
数が複合した場合のあまりの検算を考える
今回の例では6がそれになります。つまり二つ以上の異なった倍数の性質を持つためにあまりが考えにくい(と思われる)数での検算です。これについてもあまりの演算に関する一つの定理を持ってきます。これは俗に中国剰余定理と呼ばれている物で、整数版で書くと「複数の互いに素(考えている数のうち適当に2つの数をとって最大公約数を求めると1になる)となる数それぞれにおいて余りがわかっているとき、考えている数全ての積であまりを求めてもただ一通りに決まる」というものです。このあまりの求め方の手順もあるのですが今回はこれは置いておいて。つまり、6だと2×3で、2と3の最大公約数は1なので2で割ったときのあまりと3で割ったときのあまりが分かっていれば6でわったときのあまりも一通りになる、というものです。ちなみに中学校以上の数学を知っていれば、たとえば任意の自然数を素因数分解して素数のべき乗に分解すれば素数のべき乗ごとに分ければ互いに素となるのでそれぞれであまりを求めてしまえばあまりはやはり一通りになる、ということもいえます。
例として6のパターンだとこうなります。
6で割ったときの余り | 3で割ったときの余り | 2で割ったときの余り |
0(割り切れる) | 0(割り切れる) | 0(割り切れる=偶数) |
1 | 1 | 1(=奇数) |
2 | 2 | 0(=偶数) |
3 | 0(割り切れる) | 1(=奇数) |
4 | 1 | 0(=偶数) |
5 | 2 | 1(=奇数) |
見れば分かるとおりうまいこと重複無くあまりが分かれているのが分かります。例としては5427だと3で割ったときのあまりは0、かつ奇数なので6で割ったときのあまりは3となります。
これを社会で使った応用例とは?
よくある例としては「たくさんある物を決まった数ずつ箱詰めしていくといったい何個残るのか?」というものです。これは人が箱に物を詰め始めると勘違いなどで詰めていない箱が出てきてしまうため「本当に全ての箱に詰めたのか?」というのを簡易的に調べるための方法となります。そして「たくさんある」となっていたに対して数が想定されていたときに想定した数と実際に箱詰めされた数が同じだったのか?」を簡単な計算でチェックすることもできる優れた方法になります。たとえば200個製造した(と思っている)ものを6個入れの箱に入れた場合は何箱できるかはさておき、今までの結果をフルに使えば電卓を使わなくても最後に2個余ることが分かると思います。これでもし3個余ってしまうとどれか一つに入れ忘れがあった可能性が高くなりますし、1個だけ余っていればそもそも製造個数が200ではなかった可能性が出てきますし、2個余っていればできた箱の数をチェックして間違いが無ければ(完全ではないにしても)間違いである可能性はほぼない、というようになります。意外と面白い応用例ですね。
10進数を7で割った時の余りの出し方を考えてみました。
n桁目の数字にそれぞれ3のn-1乗を掛け、それらを合計します。
その合計が7で割り切れれば元の数字は7の倍数で、合計を7で割った余りが元の数字の倍数でもあります。
あまり簡単とは言えないですが、これば精一杯でしょうか。
ちなみに、8進数でしたら10進数の時の9のように簡単なのですが。