剰余の世界:mod n の時計が一周する

底 a と法 n を変えながら a^k mod n を 0…n−1 の円環(時計)上に打ち、跳ね回りながら現れる周期を体感します。

時計の文字盤は 12 で一周します。12 時の 5 時間後は 5 時、これが 17 mod 12 = 5 の剰余演算です。
法を n にすると、数直線は 0,1,…,n−1 の n 個の点だけの円環に折りたたまれます。 ある底 a を掛け続けた a^k mod n はこの円環上を跳ね回り、やがて同じ場所に戻って周期を作ります。
an が互いに素なら、フェルマー小定理 a^(p−1) ≡ 1 (mod p)(n=p が素数のとき)のように、必ず 1 に戻る瞬間が来ます。
3
13
6
現在の値 a^k mod n
周期(乗法的位数)
gcd(a, n)
n は素数?
mod n の時計(緑=1 に戻った瞬間)
a^k mod n の推移(横=k、縦=余り)
べき乗の列 a^k mod n(赤=1、緑=1周して戻った位置)

いま何が起きている?

ここがポイント