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 = int(input().strip()) arr = [1,1] if n==1: print(f"{1:>5}") elif n==2: print(f"{1:>5}{1:>5}") else: print(f"{1:>5}") print(f"{1:>5}{1:>5}") for i in range(n-2): newarr = [1] for j in range(1,len(arr)): temp = arr[j] + arr[j-1] newarr.append(temp) newarr.append(1) arr = newarr for i in newarr: print(f"{i:>5}",end="") print()
n = int(input()) a = [] for i in range(1,n+1): if i == 1: a.append([i]) a.append([1,*[a[i-1][j-1]+a[i-1][j] for j in range(1,i)],1]) for i in a[:-1]: for j in i: print("{:>5d}".format(j),end="") print()方式二
n=int(input()) a=[[0]*n for i in range(n)] for i in range(n): for j in range(i+1): if j==0&nbs***bsp;j==i: a[i][j]=1 else: a[i][j] = a[i-1][j-1] + a[i-1][j] for i in a: for j in i: if j > 0: print("{:>5d}".format(j),end="") print()