输入3 输出
1
6 2
5 4 3
输入4 输出
1
9 2
8 10 3
7 6 5 4
3条回答 默认 最新
Iawfy_ 2021-07-06 15:37关注刚写的C#的,回形矩阵的

算法一样的,取一半就行public static int[,] myMainStep(int n) { int[,] mymainRect = new int[n, n]; int count = 0; int step = n; //对角线 for (int m = 0; m < n; m++) { count++; mymainRect[m, m] = count; } step--; for (int i = n - 1; i > 0; i--) { //左下 往左 for (int j = 0; j < step; j++) { count++; mymainRect[i, i - j - 1] = count; } step--; //左下往上 for (int k = 0; k < step; k++) { count++; mymainRect[i - k - 1, i - step - 1] = count; } step++; //右上往右 for (int p = 0; p < step; p++) { count++; mymainRect[n - i - 1, n - i - 1 + p + 1] = count; } step--; //右上往下 for (int q = 0; q < step; q++) { count++; mymainRect[n - i - 1 + q + 1, n - i - 1 + step + 1] = count; } step--; } return mymainRect; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报