重複の可能性:
すべての桁を表示して、任意に大きな数の階乗を計算する
この質問は、ここで何千回も尋ねられる可能性があります。変更を加えて質問を繰り返します。大きな数 ( ) の階乗を計算したいmax range of the number=10^6
。通常、古い値を新しい値に乗算するたびに、for
ループを使用します。これは小さな数には問題ありませんが、大きな数の場合はどうなりますか? ループの範囲が広がりました。Java プリミティブ データ型は、結果の大きな数値を処理できません。それらは単にオーバーフローします。クラスについては知っていましたが、この大きな出力を処理できますが、ループはここではあまり適していません。誰かが、階乗を計算するためのティック、ハックを提案してもらえますか? 以下は、少数の場合にうまく機能する簡単なプログラムです-i=1
i=number
for
int
long
BigInteger
for
public long getFactorial(long number) {
long factorial = 1;
for (long i = 1; i <= number; ++i) {
factorial *= i;
}
return factorial;
}