杨辉三角计算机中的应用,杨辉三角

杨辉三角

6c1555302777729326ca3efa0910d9ec.png

打印前6行杨辉三角

在计算机中习惯以0开始计算,所以前6行就是0,1,2,3,4,5这6行,从第2行开始,非头尾数值为其肩膀上的两个数之和,头尾数值都为1。

n = 6

triangle = [[1], [1, 1]] # 起始这两行特殊处理

for i in range(2, n): # 第6行数据其实就是i=5时的数据

pre = triangle[-1] # 上一行数据

cur = [1] # 初始化当前行数据

for j in range(0, i - 1):

cur.append(pre[j] + pre[j + 1])

cur.append(1) # 补最后一个数据

triangle.append(cur)

print(triangle)

# [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1]]

这种解题思路是把第0和1行特殊处理,也可能用另一种解题思路

n = 6

triangle = []

for i in range(n):

row = [1] # 初始化一行

triangle.append(row)

if i == 0:

continue

for j in range(i - 1):

pre = triangle[-2] # 一进外层循环就append了row,所以倒数第二个是上一行数据

row.append(pre[j] + pre[j+1])

row.append(1) # 补最后一个1

print(triangle)

来源:51CTO

作者:sky_551

链接:https://blog.51cto.com/zhaochj/2526357

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值