杨辉三角形有如下规律:
1. 每个数等于它上方两数之和
2. 每行数字左右对称,由1开始逐渐变大
3. 第n行的数字有n+1项
4. 第n行的数字和为2^(n-1)
5. (a+b)^n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项
6. 第n行的第m个数和第n-m个数相等,即组合数C(n,m)=C(n,n-m)
代码如下:
#include
#include
using namespace std;
const int MAX = 13;
int main()
{
int m,i,j;
cout << "输入杨辉三角形的行数(小于13):";
cin >> m;
int pascal_tri[MAX][MAX] = {0}; // 初始化
for(i = 0;i < m;i++)
{
pascal_tri[i][i] = 1;
pascal_tri[i][0] = 1;
for(j = 1;j < i;j++)
{
pascal_tri[i][j] = pascal_tri[i-1][j-1] + pascal_tri[i-1][j];
}
}
// 输出杨辉三角
for(i = 0;i < m;i++)
{
for(int t = 0;t < m-i;t++)
{
cout << " ";
}
for(j = 0;j <= i;j++)
{
cout << setw(6) << pascal_tri[i][j];
}
cout << endl;
}
return 0;
}