题解 | #尼科彻斯定理#

尼科彻斯定理

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]);
    }
  }

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务