KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。
KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。
第一行包含一个整数数n。 (1≤n≤30)
包含n行,为杨辉三角的前n行,每个数输出域宽为5。
6
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
n = eval(input()) ls,ls1 = [],[] ls2 = [] for i in range(n): for j in range(n): ls.append(0) ls1.append(ls) ls = [] for i in range(n): ls1[i][0] = 1 for i in range(1,n): for j in range(1,n): ls1[i][j] = ls1[i-1][j]+ls1[i-1][j-1] for i in range(n): for j in range(n): ls1[i][j] = str(ls1[i][j]) for i in range(n): for j in range(n): if(i>=j): ls.append(ls1[i][j]) ls2.append(ls) ls = [] for i in range(n): print(" ".join(ls2[i]))
n = int(input()) arr = [] for i in range(n): if i == 0: # 第一行 arr.append([1]) else: l = [1] for j in range(1,i+1): # 上方的数是否存在 try: num = arr[i-1][j-1] + arr[i-1][j] except: num = arr[i-1][j-1] l.append(num) arr.append(l) for r in arr: for c in r: print('{:>5d}'.format(c), end='') print()