题目:打印出杨辉三角形(要求打印出 10 行如下图)
程序分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
public static void main(String[] args) {
int[][] arr = new int[10][10];
for(int i = 0; i < 10; i++) { // 每行的第一个和最后一个为1
arr[i][0] = 1;
arr[i][i] = 1;
}
for(int i = 2; i < 10; i++) {
for(int j = 1; j < i; j++) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
} //上面两个元素相加
}
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 2 * (10 - i) - 1; j++) {
System.out.print(" ");
} // 打印空格
for(int m = 0; m <= i; m++) {
System.out.print(arr[i][m] + " ");
} //打印三角
System.out.println();
}
}
输出结果:
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