编写程序 当n=4时出现如下方阵
1  2  6  7
3  5  8  13
4  9  12 14
10 11 15 16

解决方案 »

  1.   

    System.out.println("1 2 6 7");后面自己发挥吧。
      

  2.   


    public class Main {    static int n = 6;    public static void main(String[] args) {
            for (int i = 0; i < n; i++) {
                for (int j = 1; j <= n; j++) {
                    System.out.printf("%4d", n >= (i + j)
                            ? (((i ^ j) << 31 >> 31) | 1) * i + a(i + j)
                            : 0 + 1 + n * n - (((((n - i - 1) ^ (n - j + 1)) << 31 >> 31) | 1) * (n - i - 1) + a(n + n - i - j)));
                }
                System.out.println();
            }
        }    static int a(int a) {
            return (a & 1) > 0 ? ((a * a + a) >> 1) : a(a - 1) + (a > 0 ? 1 : -1);
        }
    }
       
       1   2   6   7
       3   5   8  13
       4   9  12  14
      10  11  15  16  
     1   2   6   7  15  16
     3   5   8  14  17  26
     4   9  13  18  25  27
    10  12  19  24  28  33
    11  20  23  29  32  34
    21  22  30  31  35  36