题目描述
输入正整数n,输出杨辉三角的前n行。例如,n=5时,杨辉三角形如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
输入
一行一个正整数n,1≤n≤20。
输出
共n行, 第i行包含i个正整数,之间用一个空格隔开。
样例输入
5
样例输出
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
#include <iostream>
using namespace std;
int num[25][25]={1}; //num[0][0]=1
/*
1 0 0 0 0 0
0 1 0 0 0 0
0 1 1 0 0 0
0 1 2 1 0 0
0 1 3 3 1 0
0 1 4 6 4 1
*/
int main(int argc, char const *argv[])
{
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
num[i][j]=num[i-1][j]+num[i-1][j-1];//第i行第j列的值等于第i-1行第j列与第i-1行第j-1列的和
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
cout<<num[i][j];
if(j<i){
cout<<" ";
}
}
cout<<endl;
}
return 0;
}