给出 n ( n ≤ 20 ) n(n\le20) n(n≤20),输出杨辉三角的前 n n n 行。
如果你不知道什么是杨辉三角,可以观察样例找找规律。
6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
num=int(input())
mapp=[]
history=[]
if num==1:
print(1)
else:
for item in range(1, num + 1):
mapp.clear()
for jtem in range(item):
if jtem == 0 or jtem == item - 1:
mapp.append(1)
pass
else:
data = history[jtem] + history[jtem - 1]
mapp.append(data)
pass
pass
for jtem in range(len(mapp)):
if jtem==len(mapp)-1:
print(mapp[jtem])
pass
else:
print(mapp[jtem], end=' ')
history.clear()
for jtem in range(len(mapp)):
history.append(mapp[jtem])
pass
pass
经典题目杨辉三角,之前做过,用一个两个数组交替记录就好,不过方法不是最优的,以后进阶的题单应该会有复杂度要求。科研之余一起刷一刷洛谷啊