題目描述
蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。
輸入本題有多組資料,每組資料由乙個正整數n組成。(n不大於100)
輸出對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。
樣例輸入
5樣例輸出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11純模擬,蛇形走,看答案寫**:
#include
using
namespace std;
int a[
101]
[101];
intmain()
else
}for
(int i=
1;i<=n;i++
)for
(int j=
1;j<=n-i+
1;j++
)return0;
}
下面是摘抄題解……
這種題目往往都是找出各個元素之間的規律。
1 我們可以發現,每一行的首元素之間的規律為:
a(n) = a(n - 1) + n - 1;
a(1) = 1;
這個結論很容易就用乙個for迴圈實現。
2 再找出每一行元素之間的規律:
當輸入的正整數為n時,第rows行將要輸出 n-rows+1 個元素,而每行首元素和首元素下乙個元素之間的增量inc為 rows+1,往後元素之間增量加1。
#include
//n為總行數,rows為第幾行,列印該行資料
void
printn
(int n,
int rows)
//第rows行的第乙個元素為first
int tmp = first;
//第rows行的元素之間的增量inc從rows+1開始
int inc = rows +1;
for(i =
1; i <= n - rows +
1; i++
)//輸出第rows行的元素,共有n-rows+1個
}int
main()
return0;
}
找規律。兩個辦法都蠻好的,這個規律有點複雜要好好理解啊! 蛇形矩陣題解 模擬
輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n m 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格式 輸入共一行,包含兩個整數n和m。輸出格式 輸出滿足要求的矩陣。矩陣佔n行,每行包含m個空格隔開的整數。資料範圍 1 n,m 100 輸入樣例 3 3輸出樣例 1 2 3 8...
每天OnLineJudge 之 「蛇形矩陣 」
problem 蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。input 本題有多組資料,每組資料由乙個正整數n組成。n不大於100 output 對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。sample i...
每天OnLineJudge 之 「蛇形矩陣 」
problem 蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。input 本題有多組資料,每組資料由乙個正整數n組成。n不大於100 output 對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。sample i...