-3

こんにちは、この二項係数を計算する必要があります

${2n \choose n} - {2n \choose n-1}$

LongWord大きな数の場合、データ型またはを使用する方法がわかりませんQWord

何か案が?:)

4

2 に答える 2

0

nを計算しようとすると!n が数百を超えると、パスカル浮動小数点数がオーバーフローするため、(2n)!/(n!)^2 を使用して {2n choose n} を計算する単純な方法は、最終的な数値が収まる場合でも機能しない場合があります。 (2n) のように、オーバーフローのない実数に変換します。オーバーフローする可能性があります。

オーバーフローやアンダーフローが発生しないように、乗算と除算を混在させる必要があります。たとえば、 {2n choose n} 自体がオーバーフローしないと仮定すると、次のようになります。

 X2nChoosen = 1.0;
 for i := 1 to n do
   X2nChoosen := X2nChooseN*(2*i)*(2*i-1)/(i*i);
于 2015-12-20T23:05:31.727 に答える