蛇形三角矩陣

來源:互聯網
上載者:User

標籤:

 

Problem
蛇形矩陣是由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



#include "stdafx.h"
#include <iostream>
using namespace std;
//由於題目要求N小於100,故設定一個常量,值為15
#define EDGE 15


//蛇形矩陣的擴充實現
int main(int argc, char* argv[])
{
int a[EDGE][EDGE];
//根據蛇形矩陣的規律,對其進行賦值
for(int i=0;i<EDGE;i++)
{
for(int j=0;j<EDGE;j++)
{
a[0][0]=1; //a[0][0]無法有前驅求得
if(j>=EDGE-i) //左上三角的特徵j<i
a[i][j]=0;
else if(j==0) //先確定第一列,後面的數都與第一行以及所在的行序、列序有關
a[i][j]=a[i-1][j]+i;
else a[i][j]=a[i][j-1]+i+j+1;
}
}
//輸出蛇形矩陣
for(i=0;i<EDGE;i++)
{
for(int j=0;j<EDGE;j++)
{
if(a[i][j]==0)cout<<"";
else cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}


蛇形三角矩陣

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.