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

pythonserver side programmingprogramming更新于 2025/12/28 2:20:17

假设我们有一个数字 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

为了解决这个问题,我们将遵循以下步骤 −

  • 对于范围在 0 到 n+1 内的 i,执行
    • 对于范围在 0 到 n-i 内的 j,执行
      • 打印一个空格
    • C := 1
    • 对于范围在 1 到 i+1 内的 j,执行
      • 打印 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

相关文章


有用资源