杨辉三角
public class Learn {
public static void main(String[] args) {
int[][] a = generatePascalTriangle(10);
// 输出二维数组a
for(int i[] : a) {
for(int j : i) {
System.out.printf("%-4d", j);
}
System.out.println();
}
}
// 生成一个row行的杨辉三角
public static int[][] generatePascalTriangle(int row) {
int[][] a = new int[row][];
for(int i = 0; i < row; i++) {
a[i] = new int[i+1];
a[i][0] = 1;
for(int j = 1; j < i; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
a[i][i] = 1;
}
return a;
}
}
运行结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
- 这段Java代码实现了生成杨辉三角的功能。
- 通过传入杨辉三角的行数numRows,定义一个二维整型数组triangle,使用两个for循环遍历每一行和每一列,根据杨辉三角的规则计算对应位置的元素,并将其存储到triangle数组中。
- 其中,第一行和对角线上的元素均为1。