Output
对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。
矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
Sample Input
5
Sample Output
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
---------------------------------------------------------*/
/*---------------------------------------------------------
主要思路是根据该题的特殊排列方式,每一行都为有n个数字
是有序的,比如 第2行 数列 2 3 第3行 数列 4 5 6
可以看做
1
2 3
4 5 6
7 8 9 10
值都是递增加1,而且第n行,必定有n个数字,根据此,将数列的转换下位置
进行数据的输入,矩阵行的值递减1,列的值递增1,行值小于0结束,换下一行
进行重复的操作,最终得到结果
---------------------------------------------------------*/
int main(){
//矩阵阶数
const int MT_SIZE = 20;
int tmp[MT_SIZE][MT_SIZE] = {0};
//构建数据
int row = 0;
int value = 1;
for(;row < MT_SIZE;row++){
for(int i = row,j = 0;i >= 0;i--,j++){
tmp[i][j] = value++;
}
}
//输出结果
for(int i = 0;i < MT_SIZE;i++){
for(int j = 0;j < MT_SIZE - i;j++){
cout<<tmp[i][j]<<" ";
}
cout<<endl;
}
return 0;
}