用 C++ 求二項式係數偶數索引的和


考慮我們有一個數字 n,我們需要找到偶數索引二項式係數的和,比如 $$\left(\begin{array}{c}n\ 0\end{array}\right)+\left(\begin{array}{c}n\ 2\end{array}\right)+\left(\begin{array}{c}n\ 4\end{array}\right)+\left(\begin{array}{c}n\ 6\end{array}\right)+...\left(\begin{array}{c}4\ 0\end{array}\right)+\left(\begin{array}{c}4\ 2\end{array}\right)+\left(\begin{array}{c}4\ 4\end{array}\right)++=1+6+1=8$$

所以這裡我們會找出所有二項式係數,然後再找出偶數索引值的和。

示例

 線上演示

#include<iostream>
using namespace std;
int evenIndexedTermSum(int n) {
   int coeff[n + 1][n + 1];
   for (int i = 0; i <= n; i++) {
      for (int j = 0; j <= min(i, n); j++) {
         if (j == 0 || j == i)
            coeff[i][j] = 1;
         else
            coeff[i][j] = coeff[i - 1][j - 1] + coeff[i - 1][j];
      }
   }
   int sum = 0;
   for (int i = 0; i <= n; i += 2)
   sum += coeff[n][i];
   return sum;
}
int main() {
   int n = 8;
   cout << "Sum of even placed binomial coefficients: " <<evenIndexedTermSum(n);
}

輸出

Sum of even placed binomial coefficients: 128

更新於: 18-Dec-2019

112 次瀏覽

開啟您的 職業 生涯

完成課程並獲得認證

開始
廣告