杨辉三角的快速求法
创作时间:
作者:
@小白创作中心
杨辉三角的快速求法
引用
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(Δ))] # 计算下一行,内循环
四、执行结果
热门推荐
清明前夕 3300多名医学生缅怀遗体捐献者
探访遗体捐献登记接受站:尊重捐献者及其每一位亲属
老款捷达空调大揭秘:这些坑你踩过吗?
糖尿病患者必看:正确使用血糖仪的7个步骤
糖尿病患者福音:新型血糖监测技术迎来突破!
糖尿病饮食指南:这些食物和习惯会悄悄升高你的血糖
高三党如何应对鼻炎带来的心理压力?
鼻内窥镜技术:慢性鼻炎治疗的新选择
银耳:慢性鼻炎患者的营养救星?
黄芪鸡治鼻炎?你敢试试吗?
库尔勒市:新疆南疆的明珠
久坐族必看!如何保护你的腰?
中医按摩:缓解腰痛的千年智慧
腰突症阶梯治疗新趋势:从保守到微创
北京协和医院专家推荐:秋冬腰痛康复锻炼指南
天珠收藏陷阱大揭秘:6步教你辨别真假!
双十一抢购:九眼天珠守护你的财运
天珠能否化解太岁?科学与文化的双重解读
天珠摆放在家里的正确姿势
吃降压药的人,一滴酒都不能碰吗?提醒:这几物都不要轻易碰
邓婵玉:从古战场到现代文化的逆袭之路
那尔那茜与张文昕:春节档最亮眼的新星
被达人博主种草的东台长啥样?
湘西赶尸与冥婚:中国神秘民俗的文化解读
《咒》热映,鬼故事真的会吓坏你吗?
六款经典小咸菜制作秘方,配粥一绝!
企业税务优化策略全解析
揭秘经典鬼片拍摄黑科技:如何用光影吓坏你!
香港鬼片:从本土传奇到国际瞩目
大唐鬼故事背后的真相揭秘