【问题描述】
杨辉三角也叫帕斯卡三角,在很多数量关系中可以看到,十分重要。
第 0 行: 1 第 1 行: 1 1 第 2 行: 1 2 1 第 3 行: 1 3 3 1 第 4 行: 1 4 6 4 1 .... 两边的元素都是 1, 中间的元素是左上角的元素与右上角的元素和。 我们约定,行号,列号都从 0 计数。所以: 第 6 行的第 2 个元素是 15,第 3 个元素是 20。 直观地看,需要开辟一个二维数组,其实一维数组也可以胜任。 如下程序就是用一维数组“腾挪”的解法。
#python:杨辉三角的第 row 行,第 col 列
def function(row, col):
if (row < 2): return 1
if (col == 0): return 1
if (col == row): return 1
a = [0 for x in range(1024)]
a[0] = 1
a[1] = 1
p = 2
while p <= row:
a[p] = 1
for ___________________________:
a[q] = a[q] + a[q - 1]
p += 1
return a[col]
print(function(6, 2))
print(function(6, 3))
print(function(40, 20))
请仔细分析源码,并完成划线部分缺少的代码。
【注意】:只提交缺少的代码,不要提交已有的代码和符号。也不要提交说明性文字。