LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1211|回复: 7

求N阶方阵右下角的数是什么(N为奇数).

[复制链接]
发表于 2003-7-6 18:13:06 | 显示全部楼层 |阅读模式
方阵从第一行的中间一位开始向右上方,从1填起:
具体填法看下面两个例子的 1 到 N^2 是怎样填的。

  1. N=3:
  2. 8   1   6
  3. 3   5   7
  4. 4   9   2

  5. 答案:2

  6. N=5:
  7. 17  24    1   8   15
  8. 23   5    7  14   16
  9. 4    6   13  20   22
  10. 10  12   19  21    3
  11. 11  18   25   2    9

  12. 答案:9
复制代码

要求:1<N<10^6
时间<1s
发表于 2003-7-6 18:22:00 | 显示全部楼层
这是算法问题,要找出数字与位置的对应关系。思考ing。。。
发表于 2003-7-6 18:39:34 | 显示全部楼层
右下角还不知道,中间一个是N ^ 2 / 2 + 1
呵呵。
发表于 2003-7-6 18:52:13 | 显示全部楼层
好象N必须为奇数呀。偶数没法做。这是我列出的N=7方阵。方法就是向右上角按顺序排出数字。到了上边就向下跳跃到右邻竖排的右下角,到了右边就跳跃到相邻上一行的左上角,其它情况就下降一格。还是很有规律的。右下角的数字是什么,还要进一步思考。

  1.             N=7
  2. 30  39  48   1  10  19  28
  3. 38  47   7   9  18  27  29
  4. 46   6   8  17  26  35  37
  5. 5  14  16  25  34  36  45
  6. 13  15  24  33  42  44   4
  7. 21  23  32  41  43   3  12
  8. 22  31  40  49   2  11  20
复制代码
发表于 2003-7-6 19:13:07 | 显示全部楼层
出来了,应该是(N^2/2+1)-N/2-2。其中的N^2/2和N/2都要向下取整。如N=5,则N^2为25,N^2、2就是25/2再向下取整为12,N/2再向下取整就是2。这样,结果为(12+1)-2-2等于9。
发表于 2003-7-6 19:14:18 | 显示全部楼层
这是受libinary兄的启发才想出来的。呵呵。。。
 楼主| 发表于 2003-7-6 19:42:24 | 显示全部楼层
强!
看题目,N为奇数。
我还以为有人会一个一个填。
发表于 2003-7-6 19:44:12 | 显示全部楼层
只有没有学过数学和算法的人才会直线思维。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表