用Java利用递归算法打印杨辉三角形(打印9行)。
时间: 2024-10-16 16:21:20 浏览: 34
在Java中,可以使用递归算法来打印杨辉三角形。杨辉三角形是一种数学模式,每一行都是前一行数字之和,最底层是1,从第二层开始,每一层的第一个和最后一个数字都是1。以下是打印9行杨辉三角形的一个示例:
```java
public class PascalTriangle {
public static void printPascalTriangle(int numRows) {
printRow(1, numRows); // 打印指定行数的杨辉三角形
}
// 递归函数,打印一行杨辉三角形
private static void printRow(int row, int numRows) {
if (row > numRows) { // 结束条件,当达到指定行数停止
return;
}
// 打印当前行的数字
for (int i = 0; i <= row; i++) {
System.out.print(pascalNumber(row, i) + " ");
}
System.out.println(); // 每行结束换行
// 递归打印下一行
printRow(row + 1, numRows);
}
// 计算杨辉三角形的特定位置数字(组合公式)
private static int pascalNumber(int row, int col) {
if (col == 0 || col == row) {
return 1; // 边缘情况,数字总是1
} else {
return pascalNumber(row - 1, col - 1) + pascalNumber(row - 1, col);
}
}
public static void main(String[] args) {
printPascalTriangle(9); // 打印9行
}
}
```
当你运行`printPascalTriangle(9)`时,它会打印出九行完整的杨辉三角形。
阅读全文