方法一:迭代
def ********_1(x):
""":param x: 需要生成的楊輝三角行數
:return:
"""******** = [[1], [1, 1]] # 初始化楊輝三角
n = 3 # 從第三行開始計數,逐行新增
while n <= x:
for i in range(0, n-1):
if i == 0:
# 新增初始列表[1,1],楊輝三角每行的首位和末位必為1
else:
# 逐位計算,並插入初始列表中
********[n-1].insert(i, ********[n - 2][i] + ********[n - 2][i - 1])
n += 1
return ********
x = 11
******** = ********_1(x)
# 遍歷結果,逐行列印
for i in range(x):
print(' '.join(str(********[i])).center(100)) # 轉為str,居中顯示
方法二:生成器
def ********_2(n):
""":param n: 需要生成的楊輝三角行數
:return:
"""******** = [1] # 初始化楊輝三角
for i in range(n):
yield ********
******** = [********[i] + ********[i - 1] for i in range(len(********))]
# 從生成器取值
for i in ********_5(10):
print(''.join(str(i)).center(100)) # 格式化輸出
方法三:遞迴
楊輝三角特性:
【1,1】=【0,1】+【1,0】
【1,2,1】=【0,1,1】+【1,1,0】
【1,3,3,1】=【0,1,2,1】+【1,2,1,0】
【1,4,6,4,1】=【0,1,3,3,1】+【1,3,3,1,0】
第n行等於第n-1行分別首尾補0,然後按位相加
def ********_4(n):
""":param n:需要生成的楊輝三角行數
:return:
"""******** = [1] # 初始化楊輝三角
楊輝三角的幾種 Python 實現方法
楊輝三角,是二項式係數在三角形中的一種幾何排列,中國南宋數學家楊輝1261年所著的 詳解九章演算法 一書 現 特點每個數等於它上方兩數之和。每行數字左右對稱,由1開始逐漸變大。第n行的數字有n項。第n行的m個數可表示為 c n 1,m 1 即為從n 1個不同元素中取m 1個元素的組合數。第n行的第m...
楊輝三角實現
楊輝三角是二項式係數在三角形中的一種幾何排列,最早是由楊輝在 詳解九章演算法 提出的,比國外要早了393年。著名的數學問題比如兔子生小兔子 斐波那契數列 猴子吃桃子 每天吃一半多乙個,最後還剩乙個 氣泡排序等等。下面試著用c來實現楊輝三角 怎麼實現它呢?include void main for i...
Python實現 楊輝三角 的兩種方法
給定乙個非負整數k k 33 返回楊輝三角的第k行 注意 返回行從0開始 在楊輝三角中,每個數是它左上方和右上方的數的和 example input 3 output 1,3,3,1 高階 你可以優化你的演算法到o k 的空間複雜度麼?def getrow self,rowindex type ro...