题目描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
输入
本题有多组数据,每组数据由一个正整数N组成。(N不大于100)
输出
对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
样例输入
5
样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
输入
本题有多组数据,每组数据由一个正整数N组成。(N不大于100)
输出
对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
样例输入
5
样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
这一题主要是找规律发现输入的顺序为00;10,01;20,11,02;30,21,12,03;40,,31,22,13,04;
以此规律写出算法即可。。
#include<iostream> #include<string.h> #define N 100 using namespace std; int a[N][N]; int main() { int n; while(cin>>n) { memset(a,0,sizeof(a)); int row=0; int value=1; for(;row<n;++row) for(int i=row,j=0;i>=0;i--,j++) a[i][j]=value++; for(int i=0;i<n;++i) { for(int j=0;j<n-i;++j) {cout<<a[i][j] ; if(j<n-i-1) cout<<" "; } cout<<endl; } } return 0; }