python123题目——杨辉三角

杨辉三角

描述 

杨辉三角形,也称帕斯卡三角,其定义为:顶端是 1,视为(row0).第1行(row1)(1&1)两个1,这两个1是由他们上头左右两数之和 (不在三角形内的数视为0).依此类推产生第2行(row2):0+1=1;1+1=2;1+0=1.第3行(row3):0+1=1;1+2=3; 2+1=3;1+0=1. 循此法可以产生以下诸行,如下图所示。

定义一个函数 ,传入正整数参数 M,输出 M 行的杨辉三角(为使格式美观,采用M行中最大数的位数做为数字输时占位宽度)。

说明:以输出M行中最大数的位数做为数字输时占位宽度,表示以要输出阶数的杨辉三角的最后一行数据占位总宽度与数据间总空格占位为准输出杨辉三角。

比如:输出3阶的杨辉三角,最后一行占位总宽度是7,其余各行也要占位宽度是7。这里“*”表示占位,题目输出时不需要

输入格式

一个正整数n(0<n<=20),如:12 

输出格式

(注意数字导中输出,数字两边输出等量空格)

示例 1

8

参考代码

这道题不看代码很难想出来……

#以二维列表求解杨辉三角  以M行中最大数的位数做为数字输时占位宽度,对杨辉三角居中显示
def YangHui(num):
    '''生成杨辉三角'''
    t=[[1]]
    for n in range(2,num+1):
        t.append([1]*n)  
        for m in range(1,n-1):
            t[n-1][m]=t[n-2][m-1]+t[n-2][m]
    return t


def printtriangle(t,width):
    '''居中输出杨辉三角'''
    l=" "*width #数据间隔
    c=len(t[-1])*width + width*(len(t[-1])+1)   #最后一行数据占位总宽度+数据间总空格占位   
    for i in t:
        ls=[]
        for j in i:
            ls.append("{0:^{1}}".format(str(j),width))
        print("{0:^{1}}".format(l.join(ls),c))   
       
num=eval(input())
t=YangHui(num)
width=len(str(max(t[-1])))   #获取第M行最大数据占位宽度
printtriangle(t,width)
### 回答1: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ...... 杨辉三角形是一种数学图形,由数字排列成三角形状,每个数字是其左上方和右上方数字的和。它也被帕斯卡三角,因为它在数学上有许多应用,尤其是在组合数学中。杨辉三角形的顶部是1,每一的两端也是1,其余数字是由上一的相邻两个数字相加得到的。这个过程可以一直进下去,产生无限多。 ### 回答2: 杨辉三角形是一种由数字排列组成的三角形形式,它被帕斯卡三角形,因为法国数学家布莱兹·帕斯卡在17世纪发现了这个数学现象。这个三角形是通过一系列数字的相加和重组而成,每一的数字都是上面两个数字的和。杨辉三角形是一种自包含型的数学结构,它有许多神奇的特点和应用场景。 杨辉三角形的第一只有一个数字,而每一都比上一多一个数字。这些数字由数字1开始,并在两个端点处终止。 每个数字都是它左上方和右上方数字的和,并且每个数字可以出现多次。这个三角形可以无限延伸,看起来非常漂亮和神秘。 杨辉三角形在组合学、概率论和数论等数学领域中都有着广泛的应用。它不仅可以用于解决问题,而且还可以作为一种算法和图形工具。例如,它可以用于计算多式式子中某一项的系数,或者用于推导组合数学中的一些公式。此外,杨辉三角形还是一种非常美丽的可视化图形,可以用于教学和科普宣传。 总之,杨辉三角形是一种非常奇妙和有用的数学结构,它具有优美的数学性质和应用价值,同时也是开展科学探索和教学的一个好工具。通过研究和探索这个三角形,我们可以更深入地理解数学的本质和魅力。 ### 回答3: 杨辉三角形是一种数学工具,也可以之为帕斯卡三角,因为帕斯卡第一次使用这种三角形来研究二项式展开。它是由一些数字排列组合而成的三角形状,数字之间进计算得到,而其规律性能够帮助人们更好地理解和处理数学问题。在数学领域,杨辉三角形有很广泛的应用,如数学证明、符号运算、数学证明和组合数学等方面都可以体现出来。 对于杨辉三角形,其每个数字的值都是由它上方两个数字的和得出,即a[i][j] = a[i-1][j-1]+ a[i-1][j],而杨辉三角形的第 n 第 m 个数,表示的就是一个组合数,是C(n-1, m-1)。因此,杨辉三角形也可以用来求解组合问题,例如,从n个不同的物品中挑选m个,一共有多少种不同挑选的方法。如果将三角形的第n+1从左到右的m+1个数累加,那么就等于所要求的结果。 杨辉三角是一种具有难度的数学问题,通过它可以了解到数学的规律与方法,因此在数学活动中有着非常重要的作用。同时,杨辉三角也具有美妙的形态和漂亮的性质,因此许多人喜欢将其作为艺术创作的灵感来源,并运用到设计、绘画和数码图像等领域。 总之,杨辉三角形在现代数学中非常重要,它不仅具有数学应用还具有美学意义。在日常生活中也有许多与之相关的应用,它的出现不仅丰富了数学知识,而且拓展了思维方法。希望大家可以进一步了解和掌握杨辉三角形这种数学工具,以便更好地应用于实际问题中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_62488776

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值