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

【数论】二项式定理

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

一、基本概念

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

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

(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++链表结构——单链表

0.前言存储方式分为顺序存储结构和链式存储结构。顺序存储结构的优缺点:优点:可以通过一个简单的公式随机存取表中的任一元素,逻辑关系上相邻的两个元素在物理位置上也是相邻的,且很容易找到前驱跟后继元素。缺...

【数据结构】栈—表达式括号匹配

【数据结构】栈—表达式括号匹配

【题目描述】假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则...

质数(素数)的判断

一、定义法// 1 定义法(除了1和他本身之外,没有任何一个数能被整除)(试除法) bool is_prime3(unsigned long lon...

【算法】单链表的一些操作(存取、查找、取出、插入、删除)

一、单链表结构的建立与输出#include<iostream> using namespace std; struct Node{ int ...

【数据结构】队列—基本操作

【数据结构】队列—基本操作

一、C++实例分析       C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容...

2023 CSP 山东地区分数线汇总

地区CSP-XCSP-JCSP-S烟台556648.5临沂516416青岛476753淄博446547.5...