二项式定理的推论

data structurec++programming

二项式定理描述了如何将表达式展开为任意有限次幂。二项式定理是一种强大的展开工具,可应用于代数、概率和其他领域。

假设我们有一个表达式 $\mathrm{(x\:+\:y)^n}$,我们需要展开该表达式,我们可以使用二项式定理的广义方程来完成此操作。

二项式定理为两个不同的项定义了一个二项式表达式。二项式定理的一般方程为:

$$\mathrm{(a+b)^{n}=^n{C_{r=0}}a^{n-r}b^{0}\:+\:^n{C_{r=1}}a^{n-1}b^{1\:}+\:........\:+\:^n{C_{r=n-1}}a^{1}b^{n-1}+^n{C_{r=n}}a^{0}b^{n}}$$

$$\mathrm{=n_{\sum_{r=0}}^n{C_{r}}a^{n-r}b^{r}}$$

我们可以使用公式,

$$\mathrm{^n{C_{r}}=\frac{n!}{(n-r)!r!}}$$[0! 总是等于 1]

注意

  • 表达式 $\mathrm{(a\:+\:b)^{n}}$ 的二项式展开式共有 n+1 项。

  • 每一项中 a 和 b 的幂之和将等于 n。

例如,如果我们要展开 $\mathrm{(x \:+\: y)^{5}}$。使用二项式表达式我们可以轻松做到这一点。

$$\mathrm{(x+y)^{5}=5_{\sum_{r=0}}x^{5-r}.y^{r}}$$

$$\mathrm{(x+y)^{5}=^5{C_{0}}x^{5}.y^{0}+^5{C_{1}}x^{4}.y^{1}+^5{C_{2}}x^{3}.y^{2}+^5{C_{3}}x^{2}.y^{3}+^5{C_{4}}x^{1}.y^{4}+^5{C_{5}}x^{0}.y^{5}}$$

在计算出$\mathrm{^n{C_{r}}}$的所有值并将其值放入表达式中后,我们 得到,

$$\mathrm{(x+y)^{5}=x^{5}+5x^{4}y+10X^{3}y^{2}+10X^{2}y^{3}+5x^{1}y^{4}+y^{5}}$$

这样,利用二项式定理,我们可以使用二项式公式将任何表达式展开为方程形式的有限幂。

我们将详细讨论二项式定理的推论及其在 C++ 中的实现,以解决与代数和组合学相关的各种问题。

二项式定理的推论

推论 1

二项式定理的这个推论表明,任何表达式的二项式展开式中所有系数的总和等于$\mathrm{ 2^{n}}$,其中 n 是表达式的幂。从数学上讲,它可以写成:

对于 n 的任何正值,$\mathrm{n_{\sum_{r=0}}^n{C_{r}}=2^{n}}$

证明

我们都知道二项式展开的一般方程是,

$$\mathrm{(a+b)^{n}=^n{C_{r=0}}a^{n-0}b^{0}+^n{C_{r=1}}a^{n-1}b^{1}+........+^n{C_{r=n-1}}a^{1}b^{n-1}+^n{C_{r=n}}a^{0}b^{n}}$$

$$\mathrm{(1+1)^{n}=^n{C_{r=0}}1^{n-0}1^{0}+^n{C_{r=1}}1^{n-1}1 ^{1}+........+^n{C_{r=n-1}}1^{1}1^{n-1}+^n{C_{r=n}}1^{0}1^{n}}$$

$$\mathrm{=^n{C_{r=0}}+^n{C_{r=1}}+........+^n{C_{r=n-1}}+^n{C_{r=n}}}$$

$$\mathrm{=^n{\sum_{r=0}}^n{C_{r}}=2^{n}.}$$

使用这个推论,我们可以得到任何表达式的有限幂的所有系数之和。

现在让我们看看如何在 C++ 中实现二项式定理的这个推论,以求出任何表达式的二项式展开式中所有系数之和。

  • 要求出表达式 $\mathrm{(x\:+\:y)^{n}}$ 的二项式展开式的所有系数之和,我们将 n 作为输入。

  • 要计算所有系数之和,我们只需要找到 $\mathrm{2^{n}}$ 的值。这将是我们所需的答案。

使用此推论查找系数总和的 C++ 代码:

示例

#include <bits/stdc++.h>

using namespace std;

//函数用于计算系数总和
long long int sumofcoefficients(int n){
   long long int a = pow(2,n);
   return a;
}

int main()
{
    int n=18; //(x+y)^n
    
    cout<<"(x+y)^n 二项式展开式中所有系数之和 "<<sumofcoefficients(n)<<endl;
    
    return 0;
}

输出

(x+y)^n 二项式展开式中所有系数之和 262144

时间复杂度 : O(1)

空间复杂度: O(1)

推论 2

该推论定义了从 r=0 到 r=n 时 r 与第 r 个二项式系数之和的关系。这个推论表明二项式系数的乘积之和等于$\mathrm{n*2^{n-1}}$。

这个推论可以表示为:

$$\mathrm{n_{\sum_{r=0}}(r*^n{C_{r}})=n*2^{n-1}}$$

证明

$$\mathrm{n_{\sum_{r=0}}(r*^n{C_{r}})=n_{\sum_{r=0}}(^r{C_{1}}*^n{C_{r}})=^n{\sum_{r=0}}(\frac{r!}{(r-1)!1!}*\frac{n!}{(n-r)!r!})}$$

这可以进一步简化因为,

$$\mathrm{n_{\sum_{r=0}}=(\frac{n*(n-1)!}{(r-1)!(n-1-(r-1)!)})=n*n_{\sum_{r=0}}n-1_{C_{r-1}}=n*2^{n-1}.}$$

我们可以使用此推论找到 r 和 r 个二项式系数乘积之和,其中 n 为任何正值,其中 r 大于或等于 0 且 r 小于或等于 n。

二项式定理推论的 C++ 实现:

  • 如果我们想找到 r 和 r 个二项式系数乘积之和,其中 r 的范围为 [0,n],我们可以使用任何正整数n。

  • 我们将使用上述推论来计算它。

使用上述推论的 C++ 代码:

示例

#include<bits/stdc++.h>

using namespace std;

//函数计算 r 和 rth 二项式系数乘积之和
long long int sum(int n){
    long long int a=0;
    
    a = n * pow(2,n-1); //使用二项式定理的推论
    
    return a; // 返回总和
}

int main()
{
    int n;
    
    n=9;
    cout<<"r 和 rth 二项式系数乘积之和为 "<<sum(n)<<endl;
    
    return 0;
}

输出

r 和 rth 二项式系数的乘积之和为 2304

时间复杂度 : O(1)

空间复杂度 : O(1)

结论

本文讨论了二项式定理的概念和任何表达式的一般二项式展开。我们讨论了二项式表达式和二项式定理推论的一些性质,以及如何使用它们来解决代数问题,以及它们在 C++ 中的实现,以简化求解过程。

我希望在阅读本文后,您已经清楚了二项式展开的概念和二项式定理的推论及其实现。


相关文章