java编写利用递归算法打印杨辉三角形(打印9行)。
时间: 2024-09-30 10:05:21 浏览: 39
在Java中,你可以使用递归的方式来打印杨辉三角形。杨辉三角是一个数学术语,每个数字都是前两个数字之和,从1开始对角线上的数字保持不变。下面是一个简单的递归函数示例,用于打印九行的杨辉三角:
```java
public class Main {
public static void main(String[] args) {
int n = 9; // 行数
printPascalTriangle(n);
}
// 递归函数打印杨辉三角
public static void printPascalTriangle(int rows) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(pascalTriangleElement(i, j) + " ");
}
System.out.println(); // 换行
}
}
// 计算杨辉三角中某一行的第j个元素
public static int pascalTriangleElement(int row, int col) {
if (col == 0 || col == row) { // 边界条件:第一行和最后一列都是1
return 1;
} else {
return pascalTriangleElement(row - 1, col - 1) + pascalTriangleElement(row - 1, col); // 递归计算当前元素
}
}
}
```
这个程序首先定义了一个`printPascalTriangle`函数,它接收行数作为参数。内部有两个嵌套循环,外层循环控制行数,内层循环控制每行的元素。`pascalTriangleElement`函数用于计算给定位置的数字,并通过递归调用自身来实现。