首页 > 其他 > 详细

幻方阵(魔方阵)

时间:2014-02-25 05:42:12      阅读:376      评论:0      收藏:0      [点我收藏+]

题目:

n阶幻方阵,也叫魔方阵,是指将1~n*n个正整数排列成n x n阶方阵,n为奇数。

它具有这样的性质:

每行,每列,以及对角线之和都是相等的,都是n(n*n+1)/2。


分析:

用二维数组来存放次方阵。
1. 将1放在第一行的中间位置。
2. 连续的数字从坐下向右上的方向顺序放置,即下一个数的位置在当前位置的右上方。
3. 将此方阵看成环形,规律如下:
i = (i - 1 +n)%n; //向上一行
j = (j + 1)% n; //向下一列
4. 当放完n个数时,即有一条对角线放满了,下一个位置要转向下一行。
其实,有很多个解,改变初始位置和下一个数的位置,就可以得到不同的解。
记得3阶的有一句顺口溜:”二四为肩,六八为足,左七右三,戴九履一,中间为五。“

代码:





幻方阵(魔方阵)

原文:http://blog.csdn.net/crazy1235/article/details/19773427

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!