public class yanghui {
    public static void main(String[] args){
        /* 使用二维数组打印一个杨辉三角
        * 1
        * 1 1
        * 1 2 1
        * 1 3 3 1
        * 1 4 6 4 1
        * 1 5 10 10 5 1
        *规律:第一行有1一个元素,第n行有n个元素
        * 每一行的第一个元素和最后一个元素都是1
        * 从第三行开始,对于非第一个元素和最后一个元素的值,有
        * arr[i][j] = arr[i-1][j] + arr[i-1][j-1]
        * */
        int [][] yanghui = new int[10][];
        for (int i = 0; i < yanghui.length; i++) {
            yanghui[i] = new int[i+1]; //给每一个一位数组开空间
            //给每一个一维数组赋值
            for (int j = 0; j < yanghui[i].length; j++) {
                if (j == 0 || j == yanghui[i].length - 1) {
                    yanghui[i][j] = 1; //给每行第一个元素和最后一个元素赋值为1
                } else {
                    yanghui[i][j] = yanghui[i - 1][j] + yanghui[i - 1][j - 1];
                }
            }
        }
        //遍历输出这个数组
        for (int i = 0; i < yanghui.length; i++) {
            for (int j = 0; j < yanghui[i].length; j++) {
                System.out.print(yanghui[i][j] + "\t");
            }
            System.out.println(); //换行
        }
    }
}