【数论】二项式定理
一、基本概念
上面这个式子就叫做二项式定理,又称牛顿二项式定理,该定理给出两个数之和的整数次幂诸如展开为类似项之和的恒等式。二项式定理可以推广到任意实数次幂,即广义二项式定理。
初中高中阶段比较常用的是二次方和三次方
(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