753. 平方矩阵 I
输入整数 NN,输出一个 NN 阶的回字形二维数组。
数组的最外层为 11,次外层为 22,以此类推。
输入格式
输入包含多行,每行包含一个整数 NN。
当输入行为 N=0N=0 时,表示输入结束,且该行无需作任何处理。
输出格式
对于每个输入整数 NN,输出一个满足要求的 NN 阶二维数组。
每个数组占 NN 行,每行包含 NN 个用空格隔开的整数。
每个数组输出完毕后,输出一个空行。
数据范围
0≤N≤1000≤N≤100
输入样例:
1
2
3
4
5
0
输出样例:
1
1 1
1 1
1 1 1
1 2 1
1 1 1
1 1 1 1
1 2 2 1
1 2 2 1
1 1 1 1
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
题解:
import java.util.*;
public class Main {
public static void main(String[] args)throws Exception {
Scanner scanner = new Scanner(System.in);
int n;
int[][] a = new int [110][110];
do {
n = scanner.nextInt();
//对称写法
/*
for (int i = 0; i < n; i++) {
for (int j = i; j < n - i; j++) {
a[j][i] = a[i][j] = i + 1;
a[j][n - i -1] = a[n - i - 1][j] = i + 1;
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(a[i][j]+" ");
}
System.out.println();
}
*/
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.print(Math.min(Math.min(i, j),Math.min(n - i + 1, n -j + 1))+" ");
}
System.out.println();
}
if (n!=0)
System.out.println();
} while (n-- !=0);
}
}
评论区