杨辉三角超详细多种解法详解--之python

杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。 [1]

杨辉三角是中国数学史上的一个伟大成就

算法1常规的思路

绝大部分人都能写出的算法。由图可知第一行和第二行都是1,因此这里可以把1、2行当做常规项

每一行的个数是相同的。出来第一和第二行,每一行除第一个和最后一个元素,每一行都等于前两项之和

这里我们都打印6行

具体分析如下

算法1.1

假设1  和2行不是特例,其他的思路跟算法1思路一致,只是循环增加了

缺点就是需要创建两个列表,存储,浪费存储空间,改良算法1.1

算法1.2(节约一定空间)

算法2补零

如何补零,不几个零?

在第二行末端补零,最后一个加上前一个,构成首项,其余的从第一项依次相加,这样就能保证首相和末尾都是1,其余各项等于前两项之和

算法2.1

算法3利用对称性

总结:这类题如果实在不会做,就多思考,多用笔在纸上一步一步的计算每一步怎么来的,以及要循环的次数。写程序重要的就是耐心。加油吧,只能说熟能生巧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值