こんにちは、この二項係数を計算する必要があります
${2n \choose n} - {2n \choose n-1}$
LongWord
大きな数の場合、データ型またはを使用する方法がわかりませんQWord
。
何か案が?:)
こんにちは、この二項係数を計算する必要があります
${2n \choose n} - {2n \choose n-1}$
LongWord
大きな数の場合、データ型またはを使用する方法がわかりませんQWord
。
何か案が?:)
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);