当前位置:首页 > C++目录 > 正文内容

【数论】二项式定理

亿万年的星光3年前 (2023-01-29)C++目录5114

一、基本概念

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

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

(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




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

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

    分享给朋友:

    相关文章

    【C++图形化编程】小游戏——打砖块(1)

    【C++图形化编程】小游戏——打砖块(1)

    0.前言这篇文章我们尝试创建一个打砖块的小游戏。1.游戏框架根据我们前面做的一些游戏的框架,这个小游戏的框架也可以分为下面这样的框架。int main() { startup();&n...

    如何计算一个程序的运行时间(防止超时)

    再一些OJ系统中,做题的时候常常会超时,但是很多人不知道自己的程序是否会超时,不知道如何检查自己的程序。这篇文章主要介绍几种监测自己程序运行时间的程序。头文件<time.h> ...

    C++整型的数据范围

    数据类型标识符占字节数数值范围数值范围短整型short [int]2(16位)-32768~32767-2^15 到2^15  -1整型[long] int4(32位)-...

    CSP-J2021年普及组复赛T4——小熊的果篮

    【题目描述】    小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依 次用正整数 1、2、3、……、n 编号。连续排在一起的同一种...

    【数据结构】优先队列(1)

    优先队列(Priority Queue)是一种特殊的队列,它 不遵循“先进先出”(FIFO) 的原则,而是 按照优先级(Priority) 来出队。优先级高的元素 先出队,优先级低的元素 后出队。1....

    DEVC++如何支持C++11

    DEVC++如何支持C++11

    DEVC++默认开启C++11,需要手动添加C++11支持。DEVC++需要使用高一点的版本,DEVC++5.11下载地址:(1)  官方下载地址: Dev-C++ downloa...