Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm tổng các hệ số nhị thức chỉ số chẵn trong C ++

Coi chúng ta có một số n, chúng ta phải tìm tổng các hệ số nhị thức chẵn được lập chỉ mục như $$ \ 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 { mảng} {c} 4 \\ 2 \ end {array} \ right) + \ left (\ begin {array} {c} 4 \\ 4 \ end {array} \ right) ++ =1 + 6 + 1 =8 $$

Vì vậy, ở đây chúng ta sẽ tìm tất cả các hệ số nhị thức, sau đó chỉ tìm tổng các giá trị chẵn được lập chỉ mục.

Ví dụ

#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);
}

Đầu ra

Sum of even placed binomial coefficients: 128