3

BigInteger多数の演算を試していましたが、CnR と階乗の組み合わせを計算しているときに、積の演算が非常に遅いことがわかりました。

BigInteger n = BigInteger.ONE;
for (int i=1; i<=20; i++) {
    n = n.multiply(BigInteger.valueOf(i));
}

int の配列を含む最適なアルゴリズムを探しています。

4

1 に答える 1

1

コンソールへの出力は、コードの最も遅い部分です。すべての繰り返しで印刷しないようにしてください。これにより、コードが大幅に (!) 高速化されます。残りは良さそうです。プリミティブ型を使用できます。これは実際のクラスよりも少し高速ですが、それほどではありません。

于 2012-05-02T20:15:51.793 に答える