Problem Description:
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
Input:
本题有多组数据,每组数据由一个正整数N组成。(N不大于100)
Output:
对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
Sample Input:
5
Sample Output:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11解题思路:找规律题,先打表,再直接输出。举个栗子:当n=3时,矩阵坐标如下:(0,0),(0,1),(0,2)(1,0),(1,1)(2,0)通过上面的举例,我们可以发现,同一颜色从左往右看,横坐标是降序,纵坐标是升序,结合样例可知,给其一个计数器,从行开始,依次遍历,公式为snake[i-j][j]=num++,水过。AC代码:
1 #include<bits/stdc++.h>
2 using namespace std;
3 int main()
4 {
5 int n,num=1,snake[101][101];
6 memset(snake,0,sizeof(snake));
7 for(int i=0;i<101;++i)
8 for(int j=0;j<=i;++j)
9 snake[i-j][j]=num++;
10 while(cin>>n){
11 for(int i=0;i<n;++i){
12 for(int j=0;j<n-i;++j){
13 cout<<snake[i][j];
14 if(j!=n-i-1)cout<<' ';
15 else cout<<endl;
16 }
17 }
18 }
19 return 0;
20 }
原文链接: https://www.cnblogs.com/acgoto/p/9028500.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/273832
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!