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-行数