C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++での二項係数の2乗の合計


二項係数は、パスカルの三角形の形で配置できる二項定理に見られる引用であり、nCrに等しい数の組み合わせであり、rは次の式を示すn項目のセットから選択されます

>
nCr=n! / r!(n-r)!
or
nCr=n(n-1)(n-2).....(n-r+1) / r!

二項係数の2乗の合計、つまり( n C 0 2 +( n C 1 2 +( n C 2 2 +( n C 3 2 +………+( n C n-2 2 +( n C n-1 2 +( n C n 2

Input :n=5
Output:252

説明

このプログラムでは、最初にnセットから選択されたrの二項係数を見つけ、次に各係数を2乗して合計する必要があります。上記の方程式から式を導出するか、各桁の因子関数を使用して合計を取得できます。したがって、与えられた方程式に対してrを渡し、それを加算して解を得る、または因数分解関数になります

#include <iostream>
using namespace std;
int fact(int n){
   int fact = 1, i;
   for (i = 2; i <= n; i++){
      fact *= i;
   }
   return fact;
}
int main(){
   int n=5;
   int sum = 0;
   int temp=0;
   for (int r = 0; r <= n; r++){
      temp = fact(n)/(fact(r)*fact(n-r));
      sum +=(temp*temp);
   }
   cout<<sum;
   return 0;
}

出力

252

  1. C ++の二項ヒープ?

    二項ヒープは、二分ヒープの拡張として定義され、二分ヒープによって提供される他の操作と一緒に、より高速なマージまたは結合操作を提供します。 二項ヒープは、二項ツリーのコレクションとして扱われます。 二項ツリーとは何ですか? 次数kの二項ツリーは、次数k-1の2つの二項ツリーを取得し、一方を左端の子またはその他として扱うことで構築できます。 次数kの二項ツリーには以下のプロパティがあります。 BinomialTreeのノード数は正確に2kです。 。 BinomialTreeの深さはkです。 深さiには正確にkCiノードがあります。ここでi=0、1 、。 。 。 、k。

  2. 最初のn個の自然数の二乗和のためのC++プログラム?

    この問題では、最初のn個の自然数の2乗の合計を取得する方法を確認します。ここでは、1からnまで実行されるforループを使用しています。各ステップで、項の2乗を計算し、それを合計に追加します。このプログラムは、完了するまでにO(n)時間かかります。しかし、これをO(1)または一定時間で解きたい場合は、この級数式-を使用できます。 アルゴリズム squareNNatural(n) begin    sum := 0    for i in range 1 to n, do       sum := sum + i^2 &