定义方法,用于输出(x+y)n展开式的系数(即杨辉三角)。
时间: 2024-09-17 11:08:10 浏览: 81
杨辉三角文档
在Java中,我们可以定义一个方法来生成杨辉三角(Pascal's Triangle),它是一种数学上常见的模式,用于表示二项式展开式(如 (x+y)^n)的系数。以下是创建一个简单的杨辉三角并获取特定位置系数的示例:
```java
import java.util.ArrayList;
class PascalTriangle {
private ArrayList<ArrayList<Integer>> triangle;
public PascalTriangle(int n) {
this.triangle = new ArrayList<>();
generate(n);
}
private void generate(int row) {
ArrayList<Integer> newRow = new ArrayList<>();
newRow.add(1); // 开始行总是1
for (int i = 0; i < row - 1; i++) {
int sum = triangle.get(i).get(triangle.get(i).size() - 1) // 上一行最后一个元素
+ triangle.get(i).get(i); // 和上一行当前元素相加
newRow.add(sum);
}
newRow.add(1); // 结束行也是1
this.triangle.add(newRow);
}
public int getCoefficient(int rowIndex, int columnIndex) {
return triangle.get(rowIndex).get(columnIndex);
}
public void printTriangle() {
for (ArrayList<Integer> row : triangle) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
PascalTriangle pt = new PascalTriangle(5);
pt.printTriangle(); // 输出杨辉三角
int coefficient = pt.getCoefficient(3, 2); // 获取第4行第3列的系数
System.out.println("Coefficient at (3, 2): " + coefficient);
}
}
```
这个`PascalTriangle`类首先生成指定大小的杨辉三角,然后提供了一个方法`getCoefficient`来获取给定行和列的系数。
阅读全文