こんにちは。最近数学をする時間がとれなくてもやっとしているtsujimotterです*1。ちょっとした気晴らしに小ネタを書きたいと思います。
みなさんは,普段 29 の倍数をどのように判定していますか?
え?29 の倍数なんて,判定する機会なんてない?
普通そうですよね。でも,できたら楽しそうだと思いませんか。
twitter でそんな話をしていたら,とある方からこんな方法を教えてもらいました。
29の倍数判定、下一桁の3倍を残りに足したもので行けそうじゃないですか!?
— s(数学)k(くそほど)d(できない) (@ForgetMeNot9339) 2016年8月30日
58→5+24=29
2186629→218689→21895→2204→232→29
とか
面白そうですね!でも,どうしてこんな方法が成り立つのでしょうか。
という数が与えられたとき,その数の1桁目(この場合は )に をかけ,2桁目以上の数(この場合は,)に加えます。すると,
が得られます。先ほどの判定法によると,この が の倍数であれば,元の数 も の倍数です。そうでなければ,元の数は の倍数ではない。
つまり, の倍数の判定法を「桁を減らして」実行する事が可能なのです。
さらに言えば,この操作は繰り返すことができて,最終的に 以下の数に落とすことができます。結果が または であれば の倍数,そうでなければ の倍数ではない。こうして,簡単に(暗算でも) の倍数判定ができるというのです。すごいですね!
少し一般化して説明します。
ある数が の倍数であるかどうかを判定したいとします。その数の2桁目以上の数を とおき,1桁目の数を とおきます。すると,元の数は
という式でかけるでしょう。
そして,この数が の倍数であるかどうかは,1桁目の数 に をかけたものに を加えた数,すなわち
が の倍数かどうかで判定ができるというのです。
このように数式で書いたところで,なんでこんなことがいえるのか訳がわかりませんね。
どうやっても,
注:この式は間違っています。
の合同式を示す事ができません。法 において,両者のあまりが一致するようには到底思えないのです。あまりが一致しなければ,こんな式変形をしたところで, の倍数の判定ができないじゃないか。
結構悩みました。どうやったらこんな合同式を示せるのだろうと。
しばらく考えた結果,一つの考えに達しました。
実は,示すべき結論が間違っていたのです。
本当に示すべきは,
だったのです。
2つの式は,似ているようでまったく異なります。
私はてっきり,元の数を で割ってあまりを持つとき,そのあまりは変形した数を で割ったあまりと等しいはずだ,と考えていました。でも,別にそうでなくてもよかったのです。
単に,左辺が の倍数のときに,右辺が の倍数であって,逆に右辺が の倍数のときに,左辺が の倍数であればよいのです。
どうしてこんな簡単なことに気づかなかったのでしょう。思い込みって恐ろしいですね。
これがわかれば,あとは簡単です。一気に証明してしまいましょう。
証明
に をかけたものから を引くと,以下が成り立つ.
よって, で割ったあまりを考えると,
が成り立ちます.
ここでもし,
であれば
が成り立ちます.
逆に,
であれば,
となるわけですが,この両辺に における の逆元 をかけて*2
となって も の倍数になります.
以上より,
が示せました.
一般化
以上でめでたく の倍数の問題は解決したわけですが,実は今回の話はもっと一般化することができます。
今回のポイントは, における の逆元を使う,ということでした。
一般に素数 を法とした の逆元を としたとき,
が成り立ちます。証明は先ほどとまったく同じです。
における,逆元 を考えてみると,以下のようになります。
#p, c_p
3, 1
7, 5
11, 10
13, 4
17, 12
19, 2
23, 7
29, 3
31, 28
37, 26
41, 37
43, 13
47, 33
53, 16
59, 6
61, 55
67, 47
71, 64
73, 22
79, 8
83, 25
89, 9
97, 68
たとえば, の場合は, (すなわち,)を用いて,
が成り立ちます。
たとえば, の倍数である は,
となり,一瞬で の倍数であることがわかります。
ちなみに, の値が大きいときは, としても問題ありません。たとえば, のとき, ですが, 倍し続けるのは嫌ですよね。そんなときは, として,
としてもいいわけです。実際,この判定法は の倍数法として比較的よく知られているようです。
おわりに
いやぁ,面白いですね。まさか の倍数判定法に,こんな簡便なものがあるとは思いませんでした。
倍数の判定法は,なかなか奥が深いのでぜひみなさんも考えてみてください。
私自身は,倍数の判定なら「フェルマーの小定理」だろう,と思ってそればかり考えていたのですが・・・。中途半端な知識は,人を頭でっかちにさせることもあるのですね。気をつけないと。
フェルマーの小定理といえば「循環小数」関連の話題も面白いです。よかったらこちらもご覧になってください。
tsujimotter.hatenablog.com
最後に,もう一つ重要な事実を指摘しておきたいと思います。
この判定法を教えてくれた方は「s(数学)k(くそほど)d(できない) 」というスクリーンネームの方なのですが・・・
数学できる人ほどこういうことを言うんですよね。なんつって 笑
(教えてくださってありがとうございます ^_^)
それでは,今日はこの辺で!