任意のサイズのデータ型にGMP(MPIR付き)を使用しています。ミラーラビン法を使用する素数判定関数も使用していますが、正確ではありません。これは私が修正したいものです。
平方根アプローチでブルートフォースを使用することにより、番号18446744073709551253が素数であることを確認できました。
素数であるかどうかを100%の精度でチェックする方法はありますか?
あまり多くのメモリ/ストレージスペースを使用するべきではありません。数メガバイトが許容されます。
私が使用したsqrtメソッドよりも高速である必要があります。
サイズが64ビット以上の数値で機能するはずです。
最後に、100%正確である必要があります。
私のオプションは何ですか?
私はブルートフォース方式(64ビット数の場合)で生きることができましたが、興味深いことに、より速く、より大きくしたいと思っています。また、64ビットの数値チェックは遅すぎました:合計43秒!