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上找到。