package test;
public class YangHuiSanJiao {
public static void main(String[] args) {
//杨辉三角有什么特点
//外层都是1,内层数是两个数的和
/*1
11
121
1331
14641*/
//大概的思路就是声明一个二维数组
int[][] i = new int[10][];
//为什么这里还可以再new一个数组
//每一行就是一个数组,每一个数组中,又包含一个数组
//现在相当于有10个数组,但是这十个数组的元素不固定,需要通过for循环来赋值
//第一个数组没有什么规律,就是只有一个数,而且是1,所以直接指定
//一般来说,应该是i[0]=某一个数,但是这里是一个数组,
//然后指定第一行这唯一的一个数就是1
i[0] = new int[1];
i[0][0] = 1;
for (int j = 1; j < i.length; j++) {
i[j] = new int[j+1];
i[j][0] = i[j][j] = 1;
//中间元素如何指定
for (int j2 = 1; j2 < j; j2++) {
i[j][j2] = i[j-1][j2-1] + i[j-1][j2];
}
}
//现在开始输出元素
for (int j3 = 0; j3 < i.length; j3++) {
//二维数组如何遍历
for (int k = 0; k < i[j3].length; k++) {
System.out.print(i[j3][k]+" ");
}
System.out.println();
}
}
}