C語言網-1097-蛇行矩陣
阿新 • • 發佈:2018-12-21
題目描述
蛇形矩陣是由1開始的自然數依次排列成的一個矩陣上三角形。
輸入
本題有多組資料,每組資料由一個正整數N組成。(N不大於100)
輸出
對於每一組資料,輸出一個N行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用一個空格分開。行尾不要多餘的空格。
樣例輸入
5
樣例輸出
1 3 6 10 15 2 5 9 14 4 8 13 7 12 11
解題思路:
設i的一個數所在的行數,a0i為每一行的第一個數,易知a01為1。a0i=a0(i-1)+i-1,(i>1).在第i行中我們設bj為這一行中的一個數,這bj=b(j-1)+i+j-1。
# include <iostream> using namespace std; int main () { int n; cin>>n; int a=1; for(int i=1;i<=n;i++ ) { cout<<a<<" "; int k=i+1; int l=a; for(int j=1;j<=5-i;j++) { l+=(j+k-1); cout<<l<<" "; } a=a+i; cout<<endl; } }