杨辉三角的快速求法
创作时间:
作者:
@小白创作中心
杨辉三角的快速求法
引用
CSDN
1.
https://blog.csdn.net/hz_zhangrl/article/details/139815474
一、杨辉三角形
杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列,古称“开方作法本源图”。
杨辉三角的历史
北宋人贾宪约1050年首先使用“贾宪三角”进行高次开方运算。最早出现在《宋史·艺文志》中贾宪所著的《黄帝九章算法细草》九卷,书已无存,但其许多内容为100多年后的南宋数学家杨辉1261年撰写的《详解九章算法》之中,故又称为杨辉三角形。
图1 杨辉简介
杨辉,字谦光,南宋时期杭州人。在他1261年所著的《详解九章算法》一书中,辑录了如上所示的三角形数表,称之为“开方作法本源”图,并说明此表引自11世纪前半贾宪的《释锁算术》,并绘画了“古法七乘方图”。故此,杨辉三角又被称为“贾宪三角”。
在欧洲,帕斯卡在1654年发现这一规律,所以这个表又叫做帕斯卡三角形,但是帕斯卡的发现比杨辉要迟393年,比贾宪晚500年。
二、快速求解方法
如图2所示,如果序列(或数组)的第一个和最后一个元素为0,下一行的所有元素都查以用上一行对应的元素和上一行前一个元素和。先输出,再添0为求下一行作准备。
对Python列表a,a[-1]=a[n-1],所以只需给列表尾部添加0元素即可。
图2 杨辉三角快速求解原理图
三、Python代码
这也许是最短的求杨辉三角的Python代码。
n = 15 # 生成杨辉三角的行数
Δ = [1] # 初始化杨辉三角
for i in range(n): # 外循环
print(' '.join(str(j) for j in Δ).center(60)) # 格式化输出,内循环
Δ.append(0) # 添加个0(Δ[-1]=0),用于计算下一行
Δ = [Δ[j]+Δ[j-1] for j in range(len(Δ))] # 计算下一行,内循环
四、执行结果
热门推荐
地骨皮:秋冬养生的“秘密武器”
长沙圈粉海外游客,入境游订单量增长98%
湖南长沙三日游最佳路线攻略:探寻千年古都的魅力与繁华
腔梗防治全攻略,让你远离健康隐患
天安门城楼VS故宫:谁才是北京打卡王?
天安门城楼:600年皇城门的前世今生与参观全攻略
想对眼睛好,医生建议多吃这10种食物
全国爱眼日丨如何正确使用眼药水?听听专家怎么说
如何使土壤疏松透气 打造理想土壤环境的秘诀
有机小知识 | 土壤有机质的作用以及增加的方法,提升1%需要多少有机肥?
E-MOTIVE研究突破:精准识别与干预降低产后出血风险
梦见初中学校的场景
梦见学校场景:心理学与传统文化的双重解读
金策大将:从东北抗联到朝鲜战争的传奇人生
太湖周边小众景点全攻略:从隐秘岛屿到文艺打卡地
苏州西山岛:太湖边的宝藏一日游
太湖石:承载千年文化内涵的园林瑰宝
太湖古镇:穿越千年的水乡探秘
驾校事故后的保险理赔攻略
驾校事故新规:教练背锅还是驾校买单?
驾校事故责任大揭秘:《民法典》这样说
贵阳龙洞堡机场到贵阳东站怎么坐车 从龙洞堡机场到贵阳东站有多远
北京地铁2号线最新线路图出炉,东四十条站成新晋网红打卡地!
北京地铁2号线延时运营,上班族福音!
太原三日游必打卡网红美食攻略
太原三日游:打卡乔家大院和平遥古城,感受晋商文化魅力
太原三日游:玉泉山&台骀山深度体验
天安门升旗仪式背后的秘密:一根旗杆、一面国旗的深意
天安门升旗仪式,你准备好预约了吗?
产后出血家庭护理指南:科学坐月子,远离危险