62,567
社区成员




for(int i=1; i<=N; i++) {
prints[N-i][N-i] = i;
for(int k=0; k<=2*(i-1);k++) {
prints[N-i][N-i+k] = i;
prints[N-i+k][N-i] = i;
prints[N-i+2*(i-1)][N-i+k] = i;
prints[N-i+k][N-i+2*(i-1)] = i;
}
}
public class RadiationMatrix {
public static final int N = 5;
public static void main(String[] args) {
System.out.println("Init-N=" + N);
int n = 2*N-1;
int[][] prints = new int[n][n];
for(int i=1; i<=N; i++) {
for(int j=0; j<2*i-1; j++) {
prints[N-i][N-i] = i;
for(int k=0; k<=2*(i-1);k++) {
prints[N-i][N-i+k] = i;
prints[N-i+k][N-i] = i;
prints[N-i+2*(i-1)][N-i+k] = i;
prints[N-i+k][N-i+2*(i-1)] = i;
}
}
}
for(int i=0; i<prints.length; i++) {
for(int j=0; j<prints[i].length; j++) {
System.out.print(prints[i][j] + "\t");
}
System.out.println();
}
}
}
//Result
//Init-N=5
//5 5 5 5 5 5 5 5 5
//5 4 4 4 4 4 4 4 5
//5 4 3 3 3 3 3 4 5
//5 4 3 2 2 2 3 4 5
//5 4 3 2 1 2 3 4 5
//5 4 3 2 2 2 3 4 5
//5 4 3 3 3 3 3 4 5
//5 4 4 4 4 4 4 4 5
//5 5 5 5 5 5 5 5 5
public static void main(String[] args){
int n = 4;
int center = n - 1;
int len = n * 2 - 1;
int v;
int nx,ny;
for(int y = 0; y < len; y++){
for(int x = 0; x < len; x++){
nx = Math.abs(x - center) + 1;
ny = Math.abs(y - center) + 1;
v = nx > ny ? nx : ny;
System.out.print(v);
}
System.out.println();
}
}
public class Test {
public static void main(String[] args)throws Exception{
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
while(true){
int num=Integer.parseInt(reader.readLine());
try{
if(num>0){
printMatrix(num);
}else{
break;
}
}catch(Exception e){
break;
}
}
reader.close();
}
public static void printMatrix(int n){
if(n<1) return;
int size=2*n-1;
int val;
System.out.print("\n--------------------------------------\n");
for(int i=1;i<=size;i++){
for(int j=1;j<=size;j++){
val=Math.max(Math.abs(i-n)+1,Math.abs(j-n)+1);
System.out.print(String.format("%-4s", val));
}
System.out.print('\n');
}
System.out.print("--------------------------------------\n");
}
}