私は最初の26個の素数の積を扱っています。これには52ビット以上の精度が必要です。これは最大倍精度で処理できると考えられ、小数点以下の28〜29桁の有効桁数以上が必要です。だから、これほど大きな数字に乗算と除算を実行するための戦略は何でしょうか?最大10進値より大きい数値での作業
また、パフォーマンスの影響は、これを実現するために飛躍しなければならないどのようなフープであってもかまいません。
最初の22個の素数(私は科学的なモードに落とすことなく、私の電卓に一緒に掛けることができ、ほとんど)の積である:
10,642,978,845,819,148,849,204,664,294,430
最後の4の製品は
72,370,439
です
一緒に掛け合わせると、次のようになります。
7.7023705133964511682328635583552e+38
パフォーマンスには影響があります。素数ストリング比較ソリューションが文字の直線比較よりも実際の方が速いかどうかの問題を解決しようとしているからです。この調査を促した投稿はhereです。プロセッサは浮動小数点計算のために最適化されています。理想的には、私はどのような解決策でもその最適化の多くを活用したいと思っています。
TIA!
James
PS:私が持っているコードは、競合する解決策です。私は素数の解がおそらくもっと速くなるとは思わないが、私はできるだけ公平なチャンスを与えようとしている。
私は4.0でこれを行うことができますが、私はそれをまだプレイしていませんが、それは完璧です。あなたがリンクしてくれた図書館はかなり印象的です... 2002年以降更新されていないのは驚きですが、おそらく必要がないでしょう。私はソースをチェックアウトします。非常に素晴らしい! –
@James:与えられたリンクは、オープンソースサイトに優れたオープンソースライブラリがたくさんあることを伝える単なる例です。次回はライブラリが必要です。 –