
整数問題の神すぎるツール”mod”を紹介‼︎ 第1弾 〜modって何者?〜
整数問題を解くときに欠かせないmodについて解説していきたいと思います。
これを知っているのといないのとでは大違いなので,ぜひ読んでみてください‼︎
1. modってどういうもの?
まずは,”mod”を知らない人もいると思うので,modの正体を解説していきます。
簡単にいうと… modは余りを求める計算です‼︎
これだけでは頭の上に大きな?が浮かんでしまうと思うので,具体例から見ていきましょう‼︎
(例) 7 mod 3 = 1
30 mod 8 = 6
12 mod 3 = 0 etc…
分かりますか?
割り算(÷)では,「7÷3=2…1」のように商と余りを書いていたと思いますが,
剰余演算(mod)では,例のように余りだけを書くのです‼︎
ただ,これではまだ神ツールとは言えませんね。余り書くだけだし…
2. modの本領発揮‼︎
しかし‼︎ ここからがmodの本領です‼︎
modの使い方を拡張していきますよ〜‼︎
① a mod b = c mod b
⇔a ≡ c (mod b)
アルファベットだらけで暗号みたいですが,解読していきましょう‼︎
上の式は,「aをbで割った余りと,cをbで割った余りは等しい」ことを意味していますよね?
このように割る数が同じときは,右側にまとめて書いてしまおう‼︎というのが下の式です。ですがaとcは等しいのではなく,割った余りが等しいだけなので,=を使って
「a=c」のようには書けません。それなので,合同の記号≡を使います。
(例)
4≡22 (mod9)
42≡74 (mod8)
3≡15 (mod12)
3つ目の例に関しては,時計をイメージしてもらうと分かりやすいです。
時計は12時間で元に戻りますよね。3時と15時は違う時刻ですが,時計の針は同じところを指します。つまり24時間表記で時刻を考えるとき,私たちは知らず知らずのうちにmodの計算をしていたのです‼︎
② a≡b (mod k)
⇒a≡b+nk (mod k) (nは整数)
……では解説…というか例です‼︎(笑)
(例) (mod9のもとで)
4≡22
≡13
≡4
≡-5
≡-14
modの数だけ足したり引いたりしてもokってことですね‼︎計算すれば成り立つのが分かると思います。(余りは割る数より大きくなったらダメと習ったかもだけど,ここではok)
3. 終わりに
このmodを使うことで,一次不定方程式など様々な整数問題が簡単に解けるようになったりならなかったりします。
キリがいいので,今回はここで終わりにします。第2弾ではどんな問題に使えるのか,どんなふうに使うのか解説していく予定なので,ぜひ見てください‼︎