思路:每个元素的值就是它到上下左右四条边的距离的最小值
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;
while(cin >> n,n)
{
for(int i = 1;i <= n;i++)
{
for(int j = 1;j <= n;j++)
{
int up = i,down = n - i + 1,left = j, right = n - j + 1;
cout << min(min(up,down),min(left,right)) << ' ';
}
cout << endl;
}
cout << endl;
}
}