多分当っている. コード長いです. Miller Rabin はやはり非常にシンプル. それに比べ,APRは… まぁ,実装がヘタなんだよと,言われればそれまでだが. しかし,綺麗なコードがあれば見てみたいが,すくなくとも簡単にはwebでは見つからなかった. 100桁とかの素数判定を10分とか20分あれば,やってくれると思います(計算機のパワーに依存). ちなみに,10^123の次の素数を求めるのに約3分@Desktop PC. module APR where import Data.List (sort, genericTake, genericSplitAt, genericReplicate) import Data.Array.IArray (Array, array, (!)) import Modulo (powMod, primitiveRoots, congruence)