題目簡述:
給定一數字,寫出其螺旋矩陣,例如:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9.
解題思路:
用二維陣列是肯定的了。
開始考慮用迴圈解決問題,但是考慮用迴圈會不會太麻煩,但是最後還是用了迴圈沒有想到別的好辦法。
用迴圈就是寫出最外圈的程式,然後往裡進行迴圈就是了。
源**:
#include
using
namespace
std;
intmain
()if
(p>n*n)
break
; b1++;
for(i=b1;i<=b2;i++)
if(p>n*n)
break
; a2--;
for(j=a2;j>=a1;j--)
if(p>n*n)
break
; b2--;
for(i=b2;i>=b1;i--)
if(p>n*n)
break
; a1++;
}for
(i=1
;i<=n;i++)}if
(r==t)
break
; r++;}}
return0;
}
遞推遞迴練習 O 螺旋方陣
description 的螺旋方陣當n 5和n 3時分別是如下的形式 請給出乙個程式,對於任意的輸入 0 11 輸出按照上面規律所獲得的 的螺旋方陣。input 輸入第一行為整數 0 10 代表有 組輸入 接下來是 行資料,每行輸入乙個 0 11 output 按照輸入的次序,依次輸出每乙個 方陣 ...
遞推遞迴練習 O 螺旋方陣
description 的螺旋方陣當n 5和n 3時分別是如下的形式 請給出乙個程式,對於任意的輸入 0 11 輸出按照上面規律所獲得的 的螺旋方陣。input 輸入第一行為整數 0 10 代表有 組輸入 接下來是 行資料,每行輸入乙個 0 11 output 按照輸入的次序,依次輸出每乙個 方陣 ...
遞迴遞推之螺旋方陣
列印方陣,輸入n,列印如圖所示的方陣。用二維陣列,a n m 觀察這個,得到數字從一開始增加,而增加的順序是 1。m不變,n先從最小增加到最大。2。然後n不變,m從小增加到最大。3。然後m不變,n從大減到最小。4。n不變,m從最大減到最小。再就是迴圈了,下一次的這種迴圈,n和m會分別減少1。即數變少...