18

私はまだ学生ですが、プロジェクト オイラーはとても楽しいと思います。

質問には、プリミティブ型よりも大きな計算が必要になる場合があります。私はあなたがそれを実装できることを知っていますが、私はこれを行うのが面倒です.

だから私はいくつかのライブラリを試しました、

MAPM :: 非常に優れたパフォーマンスですが、整数かどうかをチェックする可能性がある大きな浮動小数点数しか提供しません。入力を受け入れるには非常に適していますが、出力を提供するには厄介で、Visual C++ 2008 Express で魔法のようにコンパイルされます。

bigint :: 小さいものですが、多くの部分で再設計が必要です。使い方はとても簡単ですが、パワーが非常に限られており、他のものに比べて非常に遅いです。大きな整数のみ。

ttmath :: 今まで試した中で最も美しいもの!, いくつかのファイルを含めるだけで、信じられないほどのパワー/シンプルさが得られます. Visual C++ 2008 Express で魔法のようにコンパイルします。固定長の数値を提供するため、高速です。C++ のメタプログラミングを使用して構築されています。私が見る唯一の欠点は、実行時に数値の長さが任意ではないことですが、コードを書くと非常に簡単に1024Kの数値を持つことができます。

ttmath::UInt<1024 * 1024> reallyHugeUnsignedInteger;

これには、signed、unsigned、float の 3 つのタイプがあります。

VC2008 Express で gmp をコンパイルしようとしましたが、失敗しました。私はそれが最高であることを知っていますが、VC2008 Express で初心者が簡単にコンパイルできる場所はありません。また、VC で gmp をコンパイルするためのチュートリアルを参照していただければ幸いです。

編集 :: VC 2008 を使用して gmp をコンパイルする方法を知っている場合は、私に説明して賞金を獲得してください :)

EITD :: 私は正しい用語を使用していなかったようです. Windows 用の魔法の GMP を紹介します! VC 2008 で動作します:) MPIR

4

3 に答える 3

5

GMPとVisualStudio2008に関するリンクは次のとおりです。

CodeGuruでのGMPインストールヘルプ

The Edge Of NowhereのGMPコンパイルガイド(これは本当に徹底的に見えます)

于 2009-07-01T15:27:53.847 に答える
4

... または PARI/GP http://pari.math.u-bordeaux.fr/を試してみてください

于 2009-07-02T05:35:45.307 に答える
1

GMP。シンプルなAPI、永遠に存在します。

編集:ああ、あなたはそれを試しました。もう一度やってみます、最高です。

于 2009-06-26T03:54:57.380 に答える