把自然数依次排成以下数阵:1,2,4,7,.3,5,8,.6,9,.10,.规定横为行,纵为列.求:2004排在第几行,

3个回答

  • 斜着看,如果把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列.