欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

杨辉-帕斯卡三角形

程序员文章站 2022-03-06 08:02:32
...

题目内容:
帕斯卡三角形,又称杨辉三角形是二项式系数在三角形中的一种几何排列。帕斯卡三角形通常从第0行开始枚举,并且每一行的数字是上一行相邻两个数字的和。在第0行只写一个数字1,然后构造下一行的元素。将上一行中数字左侧上方和右侧上方的数值相加。如果左侧上方或者右侧上方的数字不存在,用0替代。下面给出6行的帕斯卡三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
编写程序,输入帕斯卡三角形的高度 n,然后生成和上面例子一样风格的三角形。

输入格式:
一个正整数 n

输出格式:
相应高度的帕斯卡三角形,两个数字之间有一个空格

输入样例:
6

输出样例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

# coding: utf-8
def yanghui_triangle( n ):
    yanghui = []
    for i in range(n):
        row = [1]*(i+1)
        #第一项row[0]和最后项row[-1]都是1,不需要更改
        if i >1:
            for j in range(1,i):
                #错误:yanghui[i-1][j-1] + yanghui[i-1][j+1]
                row[j] = yanghui[i-1][j-1] + yanghui[i-1][j]
        yanghui.append(row)
    for row in yanghui:

        for val in row:
            print(val,end = " ")
        print()

n = eval(input())
yanghui_triangle( n )

杨辉-帕斯卡三角形