問題:
3階
1 8 7
2 9 6
3 4 5
推至n階
解題思路:
第一種硬模擬:從外層逐層向內
#include#includeusing namespace std;
const int n=105;
int a[n][n];
int cnt=0;
int n;
int main()//左->下
for(int j=i;j<=n-i;j++)//下->右
for(int j=n+1-i;j>=i+1;j--)//右->上
for(int j=n+1-i;j>=i+1;j--)//上->左
}if(n%2==1)
for(int i=1;i<=n;i++)
printf("\n");
}system("pause");
return 0;
}
第二種帶技巧的模擬:(來自演算法與設計第三版呂國英)利用陣列b[2]來轉移方向
藍橋杯 三角螺旋陣 遞迴
方陣的主對角線之上稱為 上三角 請你設計乙個用於填充n階方陣的上三角區域的程式。填充的規則是 使用1,2,3 的自然數列,從左上角開始,按照順時針方向螺旋填充。例如 當n 3時,輸出 1 2 3 6 4 5當n 4時,輸出 1 2 3 4 9 10 5 8 6 7當n 5時,輸出 1 2 3 4 5...
YTU 1328 三角螺旋陣
方陣的主對角線之上稱為 上三角 請你設計乙個用於填充n階方陣的上三角區域的程式。填充的規則是 使用1,2,3 的自然數列,從左上角開始,按照順時針方向螺旋填充。程式執行時,從標準輸入獲得整數n 3 20 程式輸出 方陣的上三角部分。要求格式 每個資料寬度為4,右對齊。copy 31 2 3 6 4 ...
演算法競賽練習題 三角螺旋陣
方陣的主對角線之上稱為 上三角 請你設計乙個用於填充n階方陣的上三角區域的程式。填充的規則是 使用1,2,3 的自然數列,從左上角開始,按照順時針方向螺旋填充。例如 當n 3時,輸出 1 2 3 6 4 5當n 4時,輸出 1 2 3 4 9 10 5 8 6 7當n 5時,輸出 1 2 3 4 5...