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