(纵横图问题)(n阶奇数幻方)
来源:互联网 发布:网络电影如何盈利 编辑:程序博客网 时间:2024/04/30 05:31
当n为奇数时,一般称为“n阶奇数幻方”,下面我们也只讨论n为奇数的情况。首先,n阶奇数幻方是存在的。可以验证它不是唯一的,因为把这个数字方阵对称、旋转后可得到若干个依然满足题目的方阵。
构建n阶奇数幻方的方法一般如下:把1放在第一行的正中间,对于后面的任意一个数i(i从2到n*n),如果它的前一个数是n的倍数,则i的位置应该放在前一个数的正下方;
否则,i的位置应该放在前一个数的右上方。当然,如果过程中出现i的位置超过了棋盘,则应该把它拉回来(即出现在第i行的上面则变成第n行,出现在第n列的右边则变成第一列)。
下面也是一个建立思路。
设计一个程序,打印“魔方阵”,所谓“魔方阵”是指每一行、每一列和对角线之和均相等的方阵。例如:
设计说明:在这个题目中,关键问题是要知道构造“魔方阵”的算法。下面就是一个人们普遍应用的“魔方阵”算法。
(1)首先将数值1放在第1行中间的位置。
(2)从2开始到N2(N要为奇数)为止,按照下列规则放置每个数值:
如果上一个数值的右上方为空(数组元素为0表示该位置为空),则当前数值放在上一个数值的右上方;否则放在上一个数值的正下方。
1 0
- (纵横图问题)(n阶奇数幻方)
- n阶奇数幻方
- 幻方(奇数阶&&4*n阶&&4*n+2阶)
- 39.判断N*N(规定N为奇数)的矩阵是否为幻方
- 奇数阶幻方(幻方)
- 编程实现N阶奇数幻方游戏
- java实现—n阶奇数幻方
- hdu 1998 奇数阶魔方 (幻方)
- HDU 2183 奇数阶魔方(II) (构造幻方)
- HDU 1998 奇数阶魔方 (Merzirac奇数幻方生成法构造)
- 奇数幻方(魔方阵)算法
- 输入一个奇数n,构造并输出一个n阶等和幻方
- N(奇数)阶幻方解法
- 奇数幻方的构造方法 (转载)
- 【杭电oj】1998 - 奇数阶幻方(幻方)
- 奇数幻方和双偶幻方(java实现)
- 任意阶奇数幻方C程序
- 奇数幻方
- consul集群环境的搭建
- Hive操作
- 本地广播LocalBroadcastManager简单使用
- 朴素贝叶斯法
- GreenDAO之「01.初始GreenDAO」
- (纵横图问题)(n阶奇数幻方)
- C语言 · 阿尔法乘积
- 一道算法题:12个黑球和1个白球围成一个圆
- Android 微信支付,授权,分享回调区分记录
- anaconda3 安装opencv3.0.0
- Java基础知识归纳
- 继承
- 八款Android 开发者必备的小工具
- java注解