-2

Nを持つ方程式をどのように解くことができますか?その中の定数、ここでNは1 <= N <= 10 ^ 6の範囲である可能性がありますBigIntegerは最大128ビットしか実行できませんか?

両側で対数を実行しても、BigIntegerより大きい値が残ります。

4

3 に答える 3

7

いいえ、BigInteger任意のサイズの整数を処理できます(メモリによって制限されます)。ドキュメントから:

不変の任意精度の整数。

(エンファシスマイン。)

それBigIntegerが必ずしもあなたの要件に対する正しい答えになるとは限りませんが、決定する前にその実際の機能を知っておく価値があります。

于 2012-01-01T11:45:54.707 に答える
1

BigInteger の実装は、約 2 ^ 21 億ビットまたは約 256 MB に制限されています。intビット長の使用を考えると、これが増加する可能性は低いです。

于 2012-01-01T12:23:25.813 に答える
1

両側で対数を計算しても、BigInteger よりも大きな値が残ります。

N=10^6とする

log(N!) ~ NlogN - N [Stirling's approximation]

        ~ 13e6

これは(簡単に)intに収まります

于 2012-01-01T11:56:27.843 に答える