day33
打印出杨辉三角
1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
分析
杨辉三角,一行首尾是1
1 n=1
1 2 1 n=2 ls[1] = n=1时的 lst[0]+lst[1];
1 3 3 1 n=3 ls[1] = n=2时 lst[0]+lst[1];
ls[2] = n=2时 lst[1]+lst[2];
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
n=m 时 ls[i] = n=i-1时的 lst[i-1]+lst[i];
ls[m-1] =n=1-1时的 lst[m-2]+lst[m];
编码实现
1.编码实现(递归实现)
def fun(n):
if n==1:
return [1]
elif n==2:
return [1,2,1]
else:
pre= fun(n-1)
lst=[]
lst=[1 for x in range(n+1)]
for i in range(1,n):
lst[i]=pre[i-1