Python 中生成帕斯卡三角形的程序


假设我们有一个数字 n。我们必须生成包含 n 行的帕斯卡三角形。帕斯卡三角形如下所示 −

帕斯卡三角形的性质是前一行的两个相邻数字的和是位于第二行正下方的数字的值。例如,行 6 中的第一个 10 是行 5 中的 4 和 6 的和,而第二个 10 是行 5 中的 6 和 4 两个数字的和。

因此,如果输入是 n = 5,则输出为

    1
   1 1
  1 2 1
 1 3 3 1
1 4 6 4 1

要解决此问题,我们将按照以下步骤执行 −

  • 对于 i 从 0 到 n+1,执行
    • 对于 j 从 0 到 n-i,执行
      • 打印一个空格
    • C := 1
    • 对于 j 从 1 到 i+1,执行
      • 打印 C 然后打印一个空格
      • C := (C *(i - j) / j) 的商
    • 换行

示例

让我们看看以下实现以获得更好的理解 −

def solve(n):
   for i in range(n+1):
      for j in range(n-i):
         print(' ', end='')

      C = 1
      for j in range(1, i+1):
         print(C, ' ', sep='', end='')
         C = C * (i - j) // j
      print()

n = 5
solve(n)

输入

5

输出

    1
   1 1
  1 2 1
 1 3 3 1
1 4 6 4 1

更新时间: 2021 年 10 月 12 日

超过 12K 次观看

职业生涯起步

通过完成课程获得认证

开始
广告