import sys
def snake_triangle(n):
for i in range(1,n+1) :
for j in range(i,n+1) :
# 输出的公式是转化后的,其实也可以写去括号前,int()的作用是将结果转化成整型,因为计算结果是有小数的,end = ' '作用是将内层循环的计算结果以空格隔开
print(int(((j+j**2)/2)-i+1),end = ' ')
# 一次循环结束后打印空,用作换行
print()
for line in sys.stdin:
a = int(line.rstrip())
snake_triangle(a)
第一行的规律符合累加求和公式;(n+1)n/2
第二行的规律则是第一行的 ((n+1)n/2) - 1
第三行的规律则是第一行的 ((n+1)n/2) - 2
第四行的规律则是第一行的 ((n+1)n/2) - 3
当i = 1 时,j = 1,2,3,4 进入循环;
当i = 2 时,j = 2,3,4
当i = 3 时,j = 3,4
当i = 4 时,j = 4
抄的作业还没完全消化:https://blog.nowcoder.net/n/beac65b487a848ea9d8c65ef812d154f?f=comment

京公网安备 11010502036488号