私は、C# で最大の主要なプログラミング プラクティスの問題を解決しようとしています。問題は単純で、数値を印刷するかファイルに書き込んでください: 2 57,885,161 − 1 (17,425,170 桁)
Emil Stevanof .Netラッパーを介して、驚くべきGNU Multiple Precision Arithmetic Libraryを使用して解決することができました
var num = BigInt.Power(2, 57885161) - 1;
File.WriteAllText("biggestPrime.txt", num.ToString());
現在投稿されているすべてのソリューションがこのライブラリを使用していても、私には不正行為のように感じます. マネージド コードでこれを解決する方法はありますか? アイデア?提案?
PS: 既に .Net 4.0 BigIntegerを使用してみましたが、計算が終了することはありません(5 分待ちましたが、50 秒の GMP ソリューションと比較すると、既に多くの時間を費やしています)。