当前位置:首页 > C++知识 > 正文内容

【数论】二项式定理

亿万年的星光2年前 (2023-01-29)C++知识1712

一、基本概念

上面这个式子就叫做二项式定理,又称牛顿二项式定理,该定理给出两个数之和的整数次幂诸如展开为类似项之和的恒等式。二项式定理可以推广到任意实数次幂,即广义二项式定理。

 初中高中阶段比较常用的是二次方和三次方

(a+b)²=a²+2ab+b²

(a+b)³=a³+3a²b+3ab²+b²


扩展:常见平方和立方和公式及其变形:

(a+b)²=a²+2ab+b²
(a-b)²=a²-2ab+b²
a²-b²=(a+b)(a-b)
(a+b)³=a³+3a²b+3ab²+b²
(a-b)³=a³-3a²b+3ab²-b³
a³+b³=(a+b)(a²-ab+b²)
a³-b³=(a-b)(a²+ab+b²)


二、特点

  • 项数:公共有n+1项。

  • 字母a按照降幂排列,从第一项开始,次数由n减1到0

  • 字母b按照升幂排列,从第一项开始,次数由0加1到n

例如:


三、二项式系数

n=1时,二项式系数:1,1

n=2时,二项式系数:1,2,1

n=3时,二项式系数:1,3,3,1

n=4时,二项式系数:1,4,6,4,1

n=5时,二项式系数:1,5,10,10,5,1

....


四、练习

【题目描述】

输出 (a+b)^n的二项式系数。

【输入描述】

一行,包含一个整数n。

【输出描述】

一行,输出(a+b)^n的二项式系数,每个数用空格隔开。

【样例输入】

3

【样例输出】

1 3 3 1




附1:递归法求二项式系数之和

#include <bits/stdc++.h>
using namespace std;

int digui(int k,int n)
{
	if(k==0||k==n)return 1;
	else return digui(k,n-1)+digui(k-1,n-1);
}

int main()
{
	int k,n;
	cin>>k>>n;
	cout<<digui(k,n)<<endl;
	return 0;
}


附2:队列求二项式系数表

#include <iostream>
#include <queue>

using namespace std;

void yanghuiTriangle(int n)
{
    queue<int> q;
    int s,t;

    q.push(1); q.push(1);
    cout << 1<<"\t"<<1;
    for(int i=2;i<=n;i++){
        cout <<endl;
        q.push(1);
        cout <<1<<"\t";
        s=q.front();
        q.pop();
        for(int j=2;j<=i;j++)
        {
            t=q.front();  //t为第i-1行第j个元素的值
            q.pop();
            q.push(s+t);   //s+t为第i行第j个元素的值
            cout << s+t <<"\t";  
            s=t;
        }
        q.push(1);
        cout << 1;
    }
    cout <<endl;
}
int main()
{
	int n;
	cin>>n;
    yanghuiTriangle(n);
    return 0;
}


五、二项式系数的性质

  • 在二项展开式中与首末“等距离”的两项的二项式系数相等。

    C(n,0)=C(n,n) 、C(n,1)=C(n,n-1)

    C(n,k)=C(n,n-k)

  • 增减性与最大值

        在二项式展开式中,二项式系数先增后减,且在中间取得最大值。

        如果二项式的幂指数是偶数(总共奇数项),中间一项的二项式系数最大,即n为偶数。

        

       

        如果二项式的幂指数是奇数(总共偶数项),中间二项的二项式系数相等并最大,即n为奇数。

          

  • 各项二项式系数之和等于2^n

  • 奇数项的二项式系数和与偶数项的二项式系数和相等



、二项式系数于系数的区别


系数是指未知数x前面的数据,二项式系数特指C(n,k)这种,比如下面这个题目。


求 (1+2x)^7的第四项的系数和二项式系数。






所以系数是 C(7,3)* 2^3 =280

二项式系数是 C(7,3) =35




扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

最小生成树(1)

最小生成树(1)

一、定义一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出...

C++中的位宽与保留小数

C++中的位宽与保留小数

一、setw函数C++ setw() 函数用于设置字段的宽度,语法格式如下setw(n)比如:#include <bits/stdc++.h> using names...

字符串的输入输出汇总

做字符串的题目的时候,经常会遇到输入输出不对的情况,这篇文章就简单总结一下字符串常见的输入输出。2.cin基本操作:#include<iostream> #include<cstd...

排序算法中的一些分类

排序算法中的一些分类

一、比较和非比较的排序二、时间复杂度和稳定性如何界定一个排序算法是否是稳定的?假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=...

拓扑排序

拓扑排序

一、定义对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则...

进制转换类问题汇总

二进制转十进制十进制转二进制十进制转M进制(M一般小于16)M进制转十进制M进制和N进制互转...