蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
例如,当输入5时,应该输出的三角形为:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
输入描述:
输入正整数N(N不大于100)
输出描述:
输出一个N行的蛇形矩阵。
示例1
输入:
4
输出:
1 3 6 10 2 5 9 4 8 7
//横着+2 +3+ 4+5
//+3 +4 +5
//+4 +5
//+ 5
//因为不管数字是多少,第一列是不变的3
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[101];//数组存储首列
int f=1;
int tmp=1;
for(int i=1;i<=100;i++)
{
a[i]=f;
f+=tmp;
tmp++;
}
// //输出检验
// for(int i=1;i<=100;i++)
// {
// cout<<a[i]<<" ";
// }
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
int ff=a[i];//确定狩猎
int tt=i+1;
int num=n-i+1;//每一行的个数
for(int j=1;j<=num;j++)//每一列的首加为i+1
{
cout<<ff<<" ";
ff+=tt;
tt++;
}
cout<<endl;
}
}
//主要理清关系
//本人理清关系靠中文叙述