最近、素因数分解に興味を待ち、JavaScriptによる素因数分解のプログラムを作っていたりします。
 素因数分解は桁数が増えるごとに計算量が増え、解くのが難しくなることから暗号にも使われていて云々、というのは有名だと思います。

 で、高速に解くためには様々なアルゴリズムがあるわけですが、今回は「ポラード・ロー素因数分解法」というのを試しています。このアルゴリズムについてはWikipediaで説明されています。
 ポラード・ロー素因数分解法 - Wikipedia

 さて、上のwikipediaは読んでもよく分からなかったりします。これに限らずWikipediaは難しくてよく分からないものが多いです。
 そこで個人的にこのように解釈してみました。

Pollard's rho algorithm

 たぶん根本的な原理はこれで間違いないはず。

 これ以上のことは以下のサイトがとても参考になります。
 ρ法 @ 素因数分解 @ IDM