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

【数论】二项式定理

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

一、基本概念

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

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

(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




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

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

分享给朋友:

相关文章

【题解】士兵训练

【题目描述】某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,...

【题解】均分纸牌

【题目描述】有n堆纸牌,编号分别为 1,2,…, n。每堆上有若干张,但纸牌总数必为n的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在...

C++中的逻辑与运算

样例#include<iostream> using namespace std; int main(){ cout<<(1&1)...

树的存储结构

【方法1:数组】称为父亲表示法const int m=10;          ...

【算法】扩展欧几里得算法

一、欧几里得算法我们前面学过求最大公约数的算法:欧几里得算法(又叫辗转相除法) ,一般缩写是gcd,在C++中经常写成如下形式:int gcd(int a,int b)...

【题解】小X玩游戏

【题目描述】小X喜欢玩游戏。  这天,小X觉得传统的游戏都玩腻了,自己随手在草稿纸上画了一行N个格子作为棋盘, 制定了如下规则:格子从左到右依次编号为1到N,玩家初始位于格子1,初...