斜着看,如果把1看成第一斜行,把2,3看成第二斜行,……
那么我们先算这个数是第几斜行的第几个数:
由于第n斜行有n个数,所以前n斜行就有
1 + 2 + 3 + ...+ n = n(n + 1) / 2
个数.
注意到
n = 62时,62 * (62 + 1) / 2 = 1953
n = 63时,63 * (63 + 1) / 2 = 2016.
所以2004这个数超过了第62斜行,在第63斜行.
而2004 - 1953 = 51.
所以2004是63斜行的第51个.
我们观察一下,就不难知道斜行位置与原行位置的关系是:
行 = 斜行的位置;列 = 斜行数 - 所在位置 + 1.
所以2004在第51行,在第63 - 51 + 1 = 13列.