求n阶二项式系数的数学模型就是求n阶杨辉三角形
杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。
不难看出:当n=1时两个系数有确定值,前两项分别为1,1。
#include<stdio.h>
#include<iostream>
#include<iomanip>
using namespace std;
const int N = 100;//设置用于递归的一维数组的长度
const int H = 8;//设置杨辉三角形的高
void Coeff1(int a[], int n);//递归进行杨辉三角形的求解和输出
void Coeff2(int n);
int main ()
{
int a[N];
int n = H;//n在递归中不断发生改变
Coeff1(a, n - 1);//因为在递归结束的那一层处理了两行三角形 因此高度要-1才是目标高度
Coeff2(n);
}
void Coeff1(int a[], int n)
{
int i;
if(n == 1)//此时对应于二项式的(a+b)^1 此时实际上处理了杨辉三角形的前两行
{
a[1] = 1;//杨辉三角形的前两项均为1
a[2] = 1;
for(int j = n; j <= H; j++)
cout << " ";//输出空格 此时为1->H
cout << a[1] << " " <<endl;
for(int j = n; j < H; j++)
cout << " &