题目链接:​​https:///problem?id=1500​

题目描述

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

输入

本题有多组数据,每组数据由一个正整数N组成。(N不大于100)

输出

对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

样例输入

5

样例输出

1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
1 #include <iostream>
2 #include <cstdio>
3 #include <cstring>
4 #include <algorithm>
5 #include <cmath>
6 using namespace std;
7 int a[100][100];
8 int main()
9 {
10 int n;
11 while(cin>>n){
12 for(int i=0;i<n;i++){
13 for(int j=0;j<n-i;j++){
14 if(i==0&&j==0) a[i][j]=1;
15 else if(i==0&&j>0) a[i][j]=a[i][j-1]+j+1;
16 else if(i>0&&j==0) a[i][j]=a[i-1][j]+i;
17 else if(i&&j) a[i][j]=a[i][j-1]+i+j+1;
18 }
19 }
20 for(int i=0;i<n;i++){
21 for(int j=0;j<n-i;j++){
22 if(j==0) cout<<a[i][j];
23 else cout<<" "<<a[i][j];
24
25 }
26 cout<<endl;
27 }
28 }
29 return 0;
30 }