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 次觀看

職業生涯起步

透過完成課程獲得認證

開始
廣告
© . All rights reserved.