一、题目
二、示例
三、代码
while True:
try:
N = int(input())
for i in range(1, N + 1):
for j in range(1, N - i + 2):
if j == N - i + 1:
print((i + j - 2) * (i + j - 1) // 2 + j)
else:
print((i + j - 2) * (i + j - 1) // 2 + j, end=' ')
except:
break
四、算法说明
根据数学思路,找到当前值与行列的关系,即
v
a
l
u
e
=
(
i
+
j
−
2
)
∗
(
i
+
j
−
1
)
/
/
2
+
j
value=(i+j-2)*(i+j-1)//2+j
value=(i+j−2)∗(i+j−1)//2+j,其中
i
,
j
i,j
i,j 是所属行与列;在j=N-i+1
时,当前行已遍历完成,不打印空格,进行换行。
胡萝卜
2022年2月15日12:05:32
我不知道将去向何方,但我已在路上! |
---|
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! |