题目描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
输入格式
本题有多组数据,每组数据由一个正整数N组成。(N不大于100)
输出格式
对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
样例输入
复制
5
样例输出
复制
1 3 6 10 15 2 5 9 14 4 8 13 7 12 11
#include<iostream>
using namespace std;
int main()
{
int n,x=1;//x是第一个
cin >> n;
for (int i = 1; i <= n; i++)//行坐标
{
int y = x;
for (int j = 1; j <= n + 1 - i; j++)//列坐标
{
cout << y;
y += j + i;//发现规律每列后一个比前一个第一个大i+j
if (j == n + 1 - i)cout << endl;
else cout << " ";
}
x += i;//发现规律每行第一个比上一行第一个大i
}
}