更多数学趣题:Pascal/杨辉三角

本文介绍了Pascal/杨辉三角的数学背景,从南宋数学家杨辉到Pascal的发现。阐述了如何利用编程生成和优化杨辉三角的输出,包括如何实现等腰显示,并探讨了其与斐波那契数列的关系以及在二项式定理中的应用。文章还提及了中国数学史上的思考,并提供了处理特定编程问题的方法。
摘要由CSDN通过智能技术生成

===》点我返回目录《===

Pascal/杨辉三角型如下:

或者是

中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现了这个三角。Pascal帕斯卡在1654年发现这一规律(13岁时发现的),所以这个表又叫做Pascal三角。

它的特点是下面一行的数字由上面一行的数字两两相加而来(从上图等腰三角形看得很清楚。)既然知道了这个特点,我们程序思路就有了,通过前一行算后一行,用循环即可以做到。

我们可以先提炼出一个函数,根据上一行得出下一行:

def calculaterow(n,lastrow):

    currentrow=[]

    z=0

    while z < n: #initial current row

        currentrow.append(0)

        z+=1

    currentrow[0]=1  #the first element is always 1

    for i in range(1,n-1): #calculate

        currentrow[i]=lastrow[i-1]+lastrow[i]

    currentrow[n-1]=1  #the last element is always 1

    return currentrow

这个函数的传入参数有两个,n和lastrow,n表示第几行,lastrow是上一行的数组(因为一行有多个值,所以我们用一个数组记录一行值)。currentrow是第n行的数组,元素个数等于n,开头初始化的时候全部给0,一头一尾赋值为1。

有了这个函数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值