C++ 二项式定理的推论

C++ 二项式定理的推论

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

假设我们有一个表达式\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}}} 的值,公式如下:

\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是表达式的幂次。数学上可以写成:

\mathrm{n_{\sum_{r=0}}^n{C_{r}}=2^{n}},对于任何正值的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;

//function to calculate the sum of coefficients
long long int sumofcoefficients(int n){
   long long int a = pow(2,n);
   return a;
}

int main()
{
   int n=18;  //(x+y)^n

   cout<<"The sum of all the coefficients in binomial expansion of (x+y)^n "<<sumofcoefficients(n)<<endl;


   return 0;
}

输出

The sum of all the coefficients in binomial expansion of (x+y)^n 262144

时间复杂度 : O(1)

空间复杂度 : O(1)

推论2

该推论定义了从r=0到r=n的r和第r个二项式系数的和之间的关系。该推论表明,二项式系数的乘积之和等于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}.}

我们可以使用这个推论找到任何正值的n和r的乘积和第r个二项式系数的和。

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

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

  • 我们将使用上述推论进行计算。

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

示例

#include<bits/stdc++.h>

using namespace std;

//function to calculate sum of product of r and rth binomial coefficients
long long int sum(int n){
   long long int a=0; 

   a = n * pow(2,n-1);  //using corollary of binomial theorem 

   return a; // return the sum
}

int main()
{
   int n;

   n=9;
   cout<<"The sum of product of r and rth binomial coefficients is "<<sum(n)<<endl;


   return 0;
}

输出结果

The sum of product of r and rth binomial coefficients is 2304

时间复杂度 : O(1)

空间复杂度 : O(1)

结论

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

我希望阅读本文后,您对二项式展开的概念以及二项式定理的推论和它们的实现有了清晰的理解。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程