題目來自:c語言網
題目描述
蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。
輸入本題有多組資料,每組資料由乙個正整數n組成。(n不大於100)
輸出對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。
樣例輸入
5
樣例輸出
1 3 6 10 152 5 9 14
4 8 13
7 12
11我在做這道題的時候想到是用陣列來做,但是用陣列其實是比較繁瑣的。
隨即我就想出了另一種演算法,是不用陣列的
解析2 3 4 5 第一行是第乙個數➕2得到第二個數。。。
1 3 6 10 15
3 4 5 第二行是第乙個數+3得到第二個數。。。
2 5 9 14
4 8 13
7 12
11依次類推就能得出他的規律,只要規律找出來了,其實寫程式就非常簡單了
以下貼出原始碼c語言寫蛇形矩陣
這道題我真的也弄了很久。演算法分析 首先我們把它分成上三角和下三角。我們可以把上三角賦值想這樣子1,2 3,4 5 6,7 8 9 10,11 12 13 14 15.第1次賦值是1次,第2次是2次,第3次是3次.所以外迴圈是n次,內迴圈次數等於該次輸出數字的最大行數。然後我們看奇數行和數行的行走的...
演算法 蛇形矩陣輸出
思路 1.建立n n的二維陣列。2.定義四個填充的方法,分別是 3.當需要填充時,確定方向,然後從外向內遍歷找到空缺的位置進行填充。var print function n var type 1,typecount 4 var func getfunc type for var i 1 i n n ...
《演算法》蛇形矩陣求解
蛇形矩陣 右下,下左,左上,上右,迴圈往復 如果每次迴圈都計算x,y當前的極限值會很耗費效能,不如讓x和y直接越界,當越界的點不存在時,再回退一步,並按照 對方 上次的極限值 最大或最小 去確定 正確的轉向方向 左或右 import time import sys x變化或y變化 x和y只能有乙個工...