def f(x):
# 基线条件:当x为0时返回1
if x == 0:
return 1
# 递归条件:f(x) = f(x-1) + x - 1
else:
return f(x-1) + x - 1
n=int(input())
line=[]
k0=1
i=1
while i<=n:
n0=f(i)
line=[]
line.append(str(n0))
for j in range(1,n-i+1):
n1=int(line[j-1])+j+i
line.append(str(n1))
print(' '.join(line))
i+=1
我能在这个题用上递归也是绝了
1.找到每行首列的规律a1=1,an=an-1+n-1(n为行数)
2.除首列外,每行的每列数字与前一列的差是其行数和列数之和:
即b1=a1,bn=an-1+i+j
3.输出行数为n
4.除首列外,每行输出列数为n-行数

京公网安备 11010502036488号