什么是杨辉三角?
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
杨辉三角估计大家也都不陌生,早在小学的奥数题里边就有曾出现,估计大家也都见过好几遍了,也了解了杨辉三角的规律,那么今天我们就要用算法来写杨辉三角!
问题描述
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)的i次方的展开式的系数
他的一个重要性质是:三角形中的每个数字等于他两肩上的数字相加
下面给出了杨辉三角形的前4行:
1
1 1
1 2 1
1 3 3 1
给出n,输出他的前n行
算法一
n = int(input())
lists = [[0]*i for i in range(1,n+1)] # 先创建好杨辉三角的框架
lists[0][0] = 1 # 把第一个数给到程序
for i in range(1,n):
for j in range(len(lists[i])):
if j == 0:
lists[i][j] = lists[i-1][j]
continue
elif j == len(lists[i])-1:
lists[i][j] = lists[i-1][j-1]
continue
lists[i][j] = lists[i-1][j-1]+lists[i-1][j]
for i in lists:
for j in i:
print(j,end=" ")
print()
算法二
n = int(input())
list1 = [1]
for i in range(n):
list1.append(0)
list1 = [list1[k] + list1[k-1] for k in range(i+1)]
print(' '.join([str(i) for i in list1]))
版权声明:本文为LRY___原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。