大整数分解(Pollard Rho アルゴリズム)

数値入力

サンプル数値:

分解結果

数値を入力して「分解開始」をクリック

Pollard Rho アルゴリズムの説明:

アルゴリズム原理: Pollard Rho は整数分解のための確率的アルゴリズムで、特に合成数の中規模な因子を見つけるのに適しています。アルゴリズム名はその実行軌跡がギリシャ文字 ρ(ロー)に似ていることに由来します。
最適化戦略:
  • 試し割り最適化:最初に小素数(2, 3, 5, 7, 11...)で試し割りを行い、小因子を素早く見つける
  • Pollard Rho:より大きな合成数に対して、疑似乱数列 x = (x² + c) mod n を使用して因子を見つける
  • Floyd の循環検出法:高速・低速ポインターを使用して数列の循環を検出し、空間計算量を最適化
  • Miller-Rabin 素数判定:因子を見つけた後、それが素数かどうかを判定し、さらなる分解を回避
  • 再帰的分解:見つけた因子を再帰的に分解し、すべての因子が素数になるまで続ける
時間計算量:
  • 試し割り:O(√n)、小さな数値や小因子を素早く見つけるのに適する
  • Pollard Rho:期待時間 O(n^(1/4))、中程度の因子を持つ数値に非常に効率的
  • Miller-Rabin:O(k log³n)、k はテストラウンド数、素数判定に使用

適用シーン:

  • 暗号学:RSA暗号の安全性分析(弱い鍵の解読)
  • 整数論研究:数値の因子構造と分布の研究
  • 競技プログラミング:大きな整数の素早い分解、整数問題の解決
  • 数学教育:整数分解と素数の性質の理解