素数 167,279,333個 を計算してみた

AKS素数判定法の概要

AKS素数判定法は、素数かどうかを判定するために多項式演算を用います。具体的には、次のようなステップを踏みます:

1. 多項式 (x - a)^n - (x^n - a) を利用する

この多項式を使って、素数判定を行います。具体的には、与えられた整数 n に対して、多項式の展開を用いて検証を行います。この手法では、数論的な性質を利用して、素数であるかどうかを調べます。

2. 素因数分解の利用

AKSアルゴリズムは、素数判定に必要な数を素因数分解します。素因数分解は、素数であるかどうかを調べるために必要な一つの方法です。特に、AKSでは「素因数分解の効果的な使い方」を導入しており、計算量を削減します。

3. 特定の範囲を絞り込む

AKSでは、判定に使用する範囲を絞り込みます。具体的には、ある上限までの数をクラスターと呼ばれる小さい範囲に分け、その範囲内で素数判定を行います。このことにより、無駄な計算を省いて効率的に素数を判定することができます。

4. 高度な数論の利用

AKS素数判定法では、素数判定のために数論的な補題や定理(例えば、拡張ユークリッドの互除法やフェルマーの小定理など)を利用します。これにより、素数判定を理論的に支えています。

AKS素数判定法の手順(大まかな流れ)

  1. 入力:整数 n が与えられます。
  2. 初期チェック:
    • n が 2 または 3 の場合は、素数と判断します。
    • n が偶数または 3 の倍数であれば、素数ではないと判断します。
  3. 多項式展開:多項式 (x - a)^n - (x^n - a) の展開を行い、n が素数であるかどうかを検証します。
  4. 素因数分解の活用:数値の素因数分解を行い、これをもとに素数かどうかを判断します。
  5. クラスター分け:上記の検証を効率的に行うために、範囲を絞り込み、必要な部分だけを検証します。

素数表の例


「素数の一覧」はここをクリック