2  8    
3  9   14
4 10  15  19 
5 11  16  20  23
6 12  17  21  24  26
7 13  18  22  25  27  28
打印上述数列

解决方案 »

  1.   


        public static void main(String[] args) {
            int m = 0;
            final int X =7;
            int[][] arrs = new int[X][X];
            for (int i = 0; i < X; i++) 
                for (int j = i; j < arrs.length; j++) 
                    arrs[j][i]=++m;
            for (int i = 0; i < arrs.length; i++) {
                for (int j = 0; j < arrs[i].length; j++) {
                    if (arrs[i][j] !=0) {
                        System.err.print(arrs[i][j]+"\t");
                    }     
                }
                System.err.println();
            }
        }
      

  2.   

    不用存到数组,直接打印,可以减少循环操作及复杂度:
            int k = 0;
            for (int i = 0; i < 7; i++)
            {
                k = i+1;
                System.out.print(k + " ");
                for(int j=1;j<i+1;j++)
                {
                    k += 7-j;
                    System.out.print(k + " ");
                }            System.out.print("\n");
            }
      

  3.   

    public static void main(String[] args) {
    for(int i=1;i<8;i++){
    System.out.print(i+" ");
    for(int j=1,temp=i;j<i;j++,temp+=(8-j))
    System.out.print(temp+(7-j)+" ");
    System.out.println();
    }
    }
      

  4.   

    public static void main(String[] args) {
    for(int i=1;i<8;i++){
    System.out.print(i+" ");
    for(int j=1,temp=i;j<i;j++,temp+=(8-j))
    System.out.print(temp+(7-j)+" ");
    System.out.println();
    }
    }