杨辉三角形,又称贾宪三角形、帕斯卡三角形,是二项式系数在三角形中的一种几何排列。
杨辉三角形前7行入下图:
下面问题来了,设计一个程序打印杨辉三角形。
下面直接上代码:
########################
def c(x, y):# 杨辉三角形递归函数
if y == 1 or y == x: # y=1或y=x时,函数返回值为1
return 1
else:
z = c(x-1, y-1) + c(x-1, y) # y为其他值时的递推公式
return z
if __name__ == "__main__":
n = int(input("请输入杨辉三角的行数:"))
for i in range(1, n+1): # 输出n行
for j in range(0, n-i+1):
print(" ", end=" ")
for j in range(1, i+1):
# 调用递归函数,输出第i行的第j个值
print("%6d " %(c(i, j)), end=" ")
print()
########################
执行结果如下:
请输入杨辉三角的行数:18
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1
1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1
1 16 120 560 1820 4368 8008 11440 12870 11440 8008 4368 1820 560 120 16 1
1 17 136 680 2380 6188 12376 19448 24310 24310 19448 12376 6188 2380 680 136 17 1
________________END______________
网友评论