使用 while 循环的帕斯卡数



我需要打印帕斯卡数

1
1 1 
1 2 1
1 3 3 1

等。

import math
i = 0
j = 1
while j<6:
while i<6:
print(int(math.factorial(5)/(math.factorial(i)*math.factorial(5-i))), end="  ")
i += 1
print(int(math.factorial(j)/(math.factorial(i)*math.factorial(j-i))))
j += 1

有人说阶乘不能是负的,尽管我不认为它是负的。

看看这段代码,它给出了正确的输出,即使你可以努力让它变得漂亮

n = 5
for j in range(1, n + 1):
row = 1
for i in range(1, j + 1):
print(row)
row = row * (j - i) // i
print(" ")

我们知道三角形行中的第 i 个条目是 (j, i( 的二项式协效,并且所有行都必须以数字 1 开头,这就是这样做的原因。当然,我们做整数除法。

根据需要,可以将 for 循环替换为 while 循环。

最新更新