/*
- 使用一个二维数组打印一个 10 行杨辉三角
- [提示]
- 1.第一行有 1 个元素,第 n 行有 n 个元素
- 2.每一行的第一个元素和最后一个元素都是1
- 3.从第三行开始,对于非第一个元素和最后一个元素的元素
- 即: yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
*/
public class Yanghui_Sanjiao {
/*
* 使用一个二维数组打印一个 10 行杨辉三角
* [提示]
* 1.第一行有 1 个元素,第 n 行有 n 个元素
* 2.每一行的第一个元素和最后一个元素都是1
* 3.从第三行开始,对于非第一个元素和最后一个元素的元素
* 即: yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] yanghui = new int[10][];
yanghui[0] = new int[] {1};
yanghui[1] = new int[2];
yanghui[1][0] = 1;
yanghui[1][1] = 1;
// 赋值
for (int i = 2 ; i < yanghui.length ; i++) {
yanghui[i] = new int[i + 1]; //确定当前行的列数
yanghui[i][0] = 1;
yanghui[i][i] = 1;
for (int j = 1 ; j < i ; j++) {
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
}
}
// 遍历
for (int i = 0; i < yanghui.length; i++) {
for (int j = 0; j < yanghui[i].length; j++ ) {
System.out.print(yanghui[i][j] + " ");
}
System.out.println();
}
}
}