题解 | #尼科彻斯定理#
尼科彻斯定理
https://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int n = in.nextInt(); int square = n*n; int array[] = new int[n]; if(n%2==0){ //输入的数是个偶数 square = square+1; //保证起始值是个奇数 for(int j=n/2;j<n;++j){ //以n^2为分界线的右半边数据 array [j] = square; square=square+2; } square = n*n-1; //保证起始值是中间的那个奇数-1的值 for(int i=n/2-1;i>=0;--i){ //以n^2为分界线的左半边数据 array [i] = square; square=square-2; } }else{ for(int j=n/2;j<n;++j){ //包括n^2的右半边数据 array [j] = square; square=square+2; } square = n*n; //保证起始值是又为n*n for(int i=n/2-1;i>=0;--i){ //包括n^2的左半边数据 array [i] = square-2; square=square-2; } } for(int x=0;x<array.length-1;x++){ System.out.print(array[x]+"+"); } System.out.print(array[array.length-1]); } }