1. 概述
帕斯卡三角(Pascal's Triangle)是一种以二项式系数排列成三角形形式的数列。这个数列的数字被排列得使得每个数字都是其上方两个数字之和。
在本教程中,我们将学习如何用Java打印帕斯卡三角。
2. 使用递归
我们可以使用递归公式 nCr:n! / ((n - r)! * r!) 来打印帕斯卡三角。首先,我们创建一个递归函数:
public void printPascalTriangle(int n) {
// ...
}
然后,我们可以使用这个函数来打印三角形:
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(calculateCoefficient(i, j) + " ");
}
System.out.println();
}
当 n = 5 时,结果如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
3. 不使用递归
另一种不使用递归的方法是利用二项展开。每行始终以1开头,第 n 行和第 i 位置的值可以通过以下公式计算:
k = ( k * (n - i) / i )
让我们根据这个公式创建函数:
public int calculateCoefficient(int n, int r) {
// ...
}
4. 总结
在这篇简短的教程中,我们学习了两种在Java中打印帕斯卡三角的方法。
本文的示例代码可以在GitHub上找到。