2019-12-5
环境: CodeBlocks 16.01
/**
巴斯卡三角形,又称杨辉三角,是二项式系数在三角形中的一种几何排列
概述:
端点的数为1.
每个数等于它上方两数之和。
每行数字左右对称,由1开始逐渐变大。
第n行的数字有n项。
第n行数字和为2n-1。
每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。
**/
#include <iostream>
using namespace std ;
long Number(int Row,int Col); //函数声明,每行的数字
long Number(int Row,int Col)
{
int i;
long num=1;
for(i=1;i<=Col;i++)
{
num=num*(Row-i+1)/i;
}
return num;
}
int main()
{
int row,col,N=0; // row 行 col 列
cout<<"please input a number N"<<endl ;
cin>>N;
for(row=0;row<=N;row++)
{
for(col=0;col<=row;col++)
{
if(col==0)
{
for(int i=0;i<=(N-row);i++) //打印每行前面空格
cout<<" ";
}
else
{
cout<<" "; //每行数字之间一个空格 间隔
}
cout<<Number(row,col); //每行对应的数字
}
cout<<endl ; //每行换行
}
return 0 ;
}