sql2014では、4つの整数(W、X、Y、Z)とBを持つテーブルがあります。 B = C(X、Z)* C(WX; YZ)ここで、C(n、k)は、n個のオブジェクトから取られたk個のオブジェクトの組み合わせ、すなわち通常のn [k] 40となるので、最大のBは1.37847E + 11 です(ExcelのCOMBIN関数を使用して)正しい値を計算できますが、SQLでは同じ値にすることはできません。私は必要なW、X、Y、Zのすべての組み合わせでテーブルを生成できますが、大きな値のBを計算しようとすると、「40!」のようなものを扱う方法がわかりません。tsqlで大きなコンビナトリアル量を計算する方法
私は、階乗のpreinserted値でCTEを使用したいようなものでしょう:
;WITH factorials AS(
SELECT 2 as N, 2 AS F
UNION ALL
SELECT 3,6
UNION ALL...
)
しかし、私は40を格納する方法を知りません!等が挙げられる。
.NETを使用して表を埋めることはオプションではないため、SQLで作成する必要があります。
私はCTEのようなテーブルを使って2〜3列に階乗を格納することを考えていましたが、最初の10億の格納、2番目の10億の格納など(INTを使用して) (Ax10^9 + B)/(Cx10^9 + D)のように、このように格納された数値の分割方法
bigintより大きい整数をtsqlで管理するにはどうすればよいですか?
今、私は多項式の間に良い古い分裂を考えています...そして、それはほとんど些細なようです...しかし、そうではありません!おそらくあまりにも大きな数字を処理する必要があるのでおそらく –