题目描述
其实很简单的,只要细心点,就能发现元素值和元素位置是有关系的,元素值即总是(行号+1,列号+1,矩阵阶数-行号,矩阵阶数-列号)四个中的最小值
C++ 代码
#include<iostream>
using namespace std;
int min(int a, int b, int c, int d) {
if (a > b)
a = b;
if (c > d)
c = d;
return a > c ? c : a;
}
void print(int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
int k = min(i+1, j+1, n-i, n-j);
cout << k << " ";
}
cout << endl;
}
cout << endl;
}
int main() {
int n;
cin >> n;
while (n != 0) {
print(n);
cin >> n;
}
}