2つの記事の前半で、コンピューターを使用して二項係数を計算するトピックが取り上げられました。
Cでの二項係数の計算(C ++)フーリエ変換を使用した二項係数の計算それらを読むことにより、これは複雑でリソース集約的なタスクであると考えられるかもしれません。
何かをプログラミングする前に、何が何であるかを理解しましょう。
階乗の式:
開きます:
明らかに、
そして
次に、例を数えてみましょう
:
10、9、8が相互に減少していることはすぐに明らかになり、
さらに詳しく見ると、削減はそれだけでは終わりません。 14は7、12 x 6、15 x 5、16 x 4で除算されます。3の残りの15は3で除算され、7 2の残りは最後の2で除算されます。 これらすべての削減を行った後、分母を取り除き、次の製品を取得します。
数えてみよう
最初の略語:
さらに、114/57 = 2、112 / 56 = 2、110 / 55 = 2など、62/31 = 2までがわかりやすい
2番目の略語:
そのため、分子に27個のdoubleを取得しました。これを分母で削減しようとします。 最初に、分母からの2のべき乗と分子からの対応する2の数をすべて消します。 (2、4、8、16 = 10デュース、17残り)
分母にはさらに11の偶数があり、それらの一部は均等に複数です。 すべての削減の後、分母は偶数を残さず、分子には2つのデュースがあります。
トリプルを見てみましょう。
さらに、5、7、11、17、19、23、29削減します
残っています:
これは
23 544 809 717 399 465 172 377 319 715 292 496に相当します。