一、设计的流程图如下所示

二、Java 语言的代码实现

package MagicSquare;//奇数幻方的实现public class Magic_Odd {//n 为幻方的阶数public static int[][] magicOdd(int n) {//构造一个(n+2)*(n+2)阶的方阵int[][] square = new int[n + 1][n + 1];int i = 0;int j = (n + 1) / 2;//从第一行的中间那个数字(是1)开始填幻方//n阶幻方一共有n*n个数字(从1~n*n)//奇数阶幻方的实现算法for (int key = 1; key <= n * n; key++) {if ((key % n) == 1)i++;else {  //填充当前数的右上角那个数i--;j++;} if (i == 0) {//判断条件:若是在(n+2)*(n+2)阶方阵的第一行if(j==n+1){i=2;j=n;}else{i=n;}}else{if(j==n+1){j=1;}}square[i][j] = key;}//对(n+2)*(n+2)阶的方阵进行筛选出中间的n*n阶幻方int[][] matrix = new int[n][n];for (int k = 0; k < matrix.length; k++) {for (int l = 0; l < matrix[0].length; l++) {matrix[k][l] = square[k + 1][l + 1];}}return matrix;}//测试函数public static void main(String[] args) {int[][] magic = Magic_Odd.magicOdd(11); //测试11阶幻方for (int k = 0; k < magic.length; k++) {for (int l = 0; l < magic[0].length; l++) {System.out.print(magic[k][l] + " ");}System.out.println();}}
}

三、测试结果:

(相关源码资源详见:https://github.com/shenxiaolinZERO/Resources/tree/master/Resources/Magic_Test)

转载于:https://www.cnblogs.com/shenxiaolin/p/5538364.html

Java 实现奇数阶幻方的构造相关推荐

  1. 【qduoj】奇数阶幻方 (构造)

    题干: C语言_魔方阵 描述 魔方阵是一个古老的智力问题,它要求在一个m×m的矩阵中填入1-m2的数字(m为奇数),使得每一行.每一列.每条对角线的累加和都相等,如下为5阶魔方阵示例. 15 8 1 ...

  2. 奇数阶幻方 java_N(奇数)阶幻方-java实现代码

    看完最强大脑,有一期是说N阶幻立方的,作为一个程序员,我的第一反应时我可以用程序实现,在此公布N(奇数)阶幻方的java实现代码: package com.lzugis.test; public cl ...

  3. Python之任意阶幻方的构造

    本文在用Python构造任意阶幻方的时候,参考的资料如下: - 维基百科:https://en.wikipedia.org/wiki/Magic_square - 幻方:http://blog.csd ...

  4. 奇数阶幻方的经典方法-罗伯法

    转自于:http://hi.baidu.com/chisir001/item/4677dd0d39993297a2df4321 所谓幻方,也教纵横图,就是在n×n的方阵中放入1到n2个自然数:在一定的 ...

  5. magic squire幻方的学习——奇数阶幻方

    今天介绍了关于幻方的一些知识,并布置了一些相关的家庭作业. 幻方,我的理解就是一种数独吧,要求每行每列还有对角边的和都一样,填进空格的数字是1~n²,n是阶数,比如三阶幻方就是将1到9的数字填进3x3 ...

  6. 问题 G: 奇数阶幻方

    题目描述 幻方(Magic Square)是一种中国传统游戏,游戏要求将1-N2的数值安排在正方形格子中,使每行.列和对角线上的相加之和都相等 幻方的解法有很多种,当N为奇数时有1种构造方法,叫做&q ...

  7. HDU OJ 1998. 奇数阶幻方

    文章目录 1. 题目描述 2. 解题思路 3. 代码实现 1. 题目描述 题目链接:1998. 奇数阶幻方 2. 解题思路 奇数阶幻方的填法确实很多,但最简便且操作性强的就是 "罗伯法&qu ...

  8. c语言奇数阶幻方构造法,奇数阶面幻方的行列式构造法.pdf

    维普资讯 2003年 12月 伊犁师范学院学报 Dec.2003 第 4期 JournalofILiTeachersCollege NO.4 奇数阶面幻方的行列式构造法 段智力,王冰洁,王丽颖 (白城 ...

  9. java计算奇数阶魔方阵

    一.提出问题 所谓"奇数阶魔方阵"是指n为不小于3的奇数的魔方阵.这类魔方阵的形式多样,这里我们仅讨论其中的一种形式的正规魔方阵.例如:3阶.5阶和7阶的魔方阵如图3 – 4 所示 ...

  10. [HNUOJ10029] 幻方矩阵(奇数阶幻方的两种解法)

    幻方矩阵 Time Limit: 4000ms, Special Time Limit:8000ms, Memory Limit:2048KB Total submit users: 857, Acc ...

最新文章

  1. Redis 高级特性(4)— 单线程架构
  2. 小学生计算机课堂实践的重要性,多媒体在小学教学中的重要性
  3. .net remoting在wpf中的应用
  4. 生活实遇记-Kindle好久没用,屏幕一直处于电池状态,怎么解决?
  5. MagicalRecord使用中的注意事项
  6. UWP 推荐 - 限时免费的RSS阅读器《RSS 追踪》登录 Windows 10
  7. 《轩辕传奇手游》主程序带你拆解MMORPG游戏客户端
  8. 两轮差速机器人舵机转轴示意图_机器人教程2:舵机及转向控制原理
  9. REVERSE-PRACTICE-BUUCTF-30
  10. 判断dll是版本(Debug Or Release)[测试通过]
  11. 2021高通人工智能应用创新大赛踩坑指南
  12. 信息孤岛影响_企业专访:以“信息化”冲破信息孤岛
  13. 关于调用ArcGIS中GP工具.Erase、SymDiff
  14. 深入理解Nginx——链接
  15. Procexp.exe —— 强大的进程管理器
  16. python车辆型号识别_汽车型号和款式的识别 如何通过车架号来识别车的型号款式?查汽车型号...
  17. 【笔记】lamp架构框图
  18. 打印机后台服务器修复,修复win10出现“本地打印后台处理程序服务没有运行”的方法...
  19. 智慧地产-售楼中心 3D 沙盘可视化
  20. esxi 虚拟机的控制台上键盘无法输入

热门文章

  1. 大数斐波那契数列(nyoj655)光棍的yy
  2. python元素定位_Python自动化中的元素定位(一)
  3. windows php7怎么配置,PHP7在windows7中的环境配置详解
  4. SLAM--位姿图优化和PnP求解
  5. 成功要素:富兰克林的13条必要美德! 与 狗熊掰棒子
  6. 算法:分离链表为两部分,小于某个值都在左边,大于等于某个值在右边 Partition List
  7. linux sysvinit 机制,Linux基于SysVinit和systemd实现开机自启动服务
  8. 405.数字转换为十六进制数
  9. android 监听网络的详细例子,android 短信 发送 监听 拦截等自己写的demo
  10. 超标量体系结构_计算机体系结构——以多发射和静态调度来开发ILP