MCPで接続 →

計算を入力してください

公式

広告

結果

a^(p-1) mod p
1
Equals 1 — Fermat's Little Theorem holds
a^p mod p 2
a mod p 2
p は素数? Yes
gcd(a, p)(最大公約数) 1

フェルマーの小定理とは?

フェルマーの小定理は、整数論の土台となる重要な定理です。p が素数で、a が p で割り切れない整数(つまり \(\gcd(a, p) = 1\))であるとき、a を (p − 1) 乗した数を p で割った余りは必ず 1 になる、という内容です。式で書くと $$a^{\,p-1} \equiv 1 \pmod{p}$$ となります。さらに、どんな整数 a についても成り立つ一般形として $$a^{\,p} \equiv a \pmod{p}$$ も知られています。

べき乗が p を法として 1 に戻る様子を示す剰余演算の円
フェルマーの小定理:a を p-1 乗すると、素数 p を法として 1 に戻る。

このツールの使い方

底となる値 a と値 p を入力してください。計算ツールが p が素数かどうかを判定し、\(\gcd(a, p)\) を求め、高速なべき乗剰余(モジュラ指数演算)を使って \(a^{\,p-1} \bmod p\) と \(a^{\,p} \bmod p\) の両方を計算します。p が素数かつ \(\gcd(a, p) = 1\) のとき、最初の結果は必ず 1 になり、定理が成り立つことを確認できます。これらの条件を満たさない場合は、定理が 1 という値を保証しないため、\(a^{\,p-1}\) の結果は n/a(該当なし)と表示されます。

計算式のしくみ

べき乗剰余では、底を繰り返し2乗しながら p で割った余りを取っていくため、指数が非常に大きくても計算量を抑えられます。この定理は、素数判定法(フェルマーテスト)、RSA暗号の鍵に関する計算、そしてモジュラ逆数の計算の基礎になっています。というのも、素数 p に対して \(a^{\,p-2} \bmod p\) が a の法 p における逆数を与えるからです。

広告

具体例で確認

\(a = 2\)、\(p = 7\) としてみましょう。7 は素数で \(\gcd(2, 7) = 1\) なので、$$2^{6} \bmod 7 = 64 \bmod 7 = 1$$ になるはずです。✔ 一般形では $$2^{7} \bmod 7 = 128 \bmod 7 = 2$$ となり、これは \(2 \bmod 7 = 2\) に等しくなります。✔

a の p マイナス 1 乗を p で割った余りが 1 になる段階的な簡約
計算例:繰り返し二乗と mod p での簡約により結果 1 にたどり着く。

よくある質問(FAQ)

p が素数でない場合は? 定理は成り立たないことがあります。この計算ツールは p が素数でないことを表示し、その場合に意味を持つのは一般形 \(a^{\,p} \bmod p\) の値だけです(ただし必ずしも a と等しくなるとは限りません)。

a が p の倍数の場合は? その場合 \(\gcd(a, p) \neq 1\) となるため、\(a^{\,p-1} \bmod p\) は 1 にはならず、0 になります。ただし一般形 \(a^{\,p} \equiv a\) は引き続き成り立ちます。

モジュラ逆数を求めるのに使えますか? はい。素数 p に対して、\(a^{\,p-2} \bmod p\) が法 p における a の乗法逆元(逆数)になります。

最終更新: