牛客網 迴環矩陣

鏈接:https://www.nowcoder.com/questionTerminal/205b62c2618546d6a52f23552b2699f6
來源:牛客網

首頁 > 試題廣場

[問答題]

編程輸出以下格式的數據。

when i=1:

7   8    9
6   1    2
5   4    3

when i=2:

21 22 23 24 25
20   7   8  9 10
19   6   1  2  11
18   5   4  3  12
17 16 15 14 13

import java.util.*;
import java.math.*;
 
public class Main{
	static int maxn=(int)(500+10);
	static int[][] a=new int[maxn][maxn];
	static void print(int n) {
		int start=(2*n+1),end=1;
		int num=(2*n+1)*(2*n+1);
		
		while(start>end) {
			//up
			for(int i=start;i>end;i--)
				a[end][i]=num--;
			//left
			for(int i=end;i<start;i++)
				a[i][end]=num--;
			//bottom
			for(int i=end;i<start;i++)
				a[start][i]=num--;
			//right
			for(int i=start;i>end;i--)
				a[i][start]=num--;
			//update
			start--;end++;
		}
		a[n+1][n+1]=1;
		int len=2*n+1;
		for(int i=1;i<=len;i++) {
			for(int j=1;j<=len;j++) {
				System.out.print(a[i][j]);
				if(j==len)
					System.out.println();
				else
					System.out.print(" ");
			}
		}
	}
	public static void main(String[] args) {
		Scanner cin=new Scanner(System.in);
		int n=cin.nextInt();
		print(n);
		cin.close();
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章