题目:在 Python 中实现杨辉三角形的打印,目标输出前十行,如下图所示。
分析要点:杨辉三角将二项式系数按几何方式排列,便于观察系数之间的关系。
每个数字等于其正上方两个数字之和。
每行从左到右对称,起始为 1,逐行递增。
第 n 行包含 n 个数字。
第 n 行数字的和为 2n−1。
第 n 行的第 m 个数等于组合数 C(n−1, m−1),表示从 n−1 个不同元素中选取 m−1 个的组合数。
第 n 行的第 m 个数等于第 n−m+1 个数,这是一种组合数的对称性。
每个数字都等于上一行左右两个数字之和。由此可以推导出整张杨辉三角:第 n+1 行的第 i 个数字等于第 n 行的第 i−1 个数字与第 i 个数字之和,这也是组合数的性质 C(n+1,i) = C(n,i) + C(n,i−1)。
此外,(a+b)^n 的展开式中的各项系数,依次对应杨辉三角第 n+1 行的各项。
程序源代码:

以上实例的输出结果如下:

其他实现方法:

