import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) { 
            int n = in.nextInt();
            int[][] arr = new int[n][n];

            int t = 1;
            for (int i = 0; i < n; i++) {
                for (int j = i; j >= 0; j--) {
                    arr[j][i - j] = t++;
                }
            }

            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n - i; j++) {
                    System.out.print(arr[i][j] + " ");
                }
                System.out.println();
            }


        }
    }
}

考察二维数组的遍历,对角线开始到结束。