题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
观察第一行的规律符合累加求和公式;(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
n = int(input().strip()) 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()
兄弟萌加油,欧力给!!!