杨辉三角(洛谷)

杨辉三角

题目描述

给出 n ( n ≤ 20 ) n(n\le20) n(n20),输出杨辉三角的前 n n n 行。

如果你不知道什么是杨辉三角,可以观察样例找找规律。

6

样例输出 #1

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

经典题目杨辉三角,之前做过,用一个两个数组交替记录就好,不过方法不是最优的,以后进阶的题单应该会有复杂度要求。科研之余一起刷一刷洛谷啊

你可能感兴趣的:(python,开发语言)