【蓝桥杯每日一练:杨辉三角】

问题描述

中国古代数学家在数学的重要领域中,处于遥遥领先的地位,杨辉三角形的发现就是十分精彩的一页!杨辉三角形由n排数字组成,第n排含有n个数字,每排数字的首末为1,其他数是其肩上两数之和,即:第n排第j个数的数值等于第n-1排第j-1和j两数数值之和。

输入格式

每行是一个测试用例,输入一个所需的行数n,n为大于0小于等于30的整数。

输出格式

输出杨辉三角的前n行,每行输出的第一个数前面没有空格,以后的每个数据的位宽为杨辉三角中最大数的宽度加上一,每组输出数据间用换行符隔开。

【提示】

1.本代码主要分三个部分,第一个部分生成杨辉三角列表,第二个部分获取最大数字的位数,第三个部分实现空格数字生成。

2.python 3.x版本输出不换行格式如下:print(x, end="")    end="" 可使输出不换行。

3.如需换行,增加一个print('')或者print("")即可,理论上写一行新的代码就能自动换行。

输入样例

7
5

输出样例

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
1 1
1 2 1
1 3 3 1
1 4 6 4 1

代码

while 1:
    n=int(input())
    if 0=a:
                    a=p[q]
                else:
                    a=a
            if a>b:
                b=a
            else:
                b=b
        while(1):
            b=b//10
            if b!=0:
                c=c+1
            elif b==0:
                c=c
                break
        # print(c)
        for p in x:
            print(p[0],end = "")
            for q in range(1,p[1]+1):
                f = 1
                e = int(p[q])
                while 1:
                    e = e // 10
                    if e != 0:
                        f = f + 1
                    elif e == 0:
                        f = f
                        break
                for g in range(c-f+1):
                    print(' ', end="")
                print(p[q], end="")
            print('')
    print('')

你可能感兴趣的:(蓝桥杯,蓝桥杯,职场和发展,动态规划,python,算法)