幻方(Magic Square)

news2024/9/23 21:22:22

幻方(Magic Square)

幻方概述

什么是幻方呢?幻方(Magic Square)就是指在n×n(n行n列)的方格里填上一些连续的数字,使任意一行、任意一列和对角线上的数字的和都相等。例如有3×3的3行3列的幻方叫三阶幻方,4×4的4行4列的幻方叫四阶幻方,5×5的5行5列的幻方叫五阶幻方等等。

幻方最早记载于中国公元前500年的春秋时期《大戴礼》中,这说明中国人民早在2500年前就已经知道了幻方的排列规律。除了“河图”,中国古代还有“洛书”之说,相传在大禹治洪水时,洛水中浮出一只大乌龟,背上有图有字,人们称之为“洛书”。

在幻方中每行、每列、每条对角线上各数的和都相等,这个和称为“幻和”。

幻和 = 总数和 ÷ 阶数

奇数幻方中,中间数 = 幻和 ÷ 阶数

由1、2、3、……等连续自然数生成的幻方为基本幻方。在此基础上各数再加或减一个相同的数,可组成由零或负数组成的新幻方。也就是说,编排n阶幻方时,不一定非要从1开始,只要是这些数能构成等差数列就可以了。

一般我们把奇数×奇数的幻方叫奇阶幻方,偶数×偶数的幻方叫偶阶幻方,填奇阶幻方和偶阶幻方的有着不同的方法。

一、奇阶幻方通用构造方法

口诀(又称为罗伯法):

一居上行正中央,

依次斜填切莫忘,

上出框界往下写,

右出框时左边放,

重复便在下格填,

出角重复一个样。

解释:

把1(或最小的数)放在第一行正中; 按以下规律排列剩下的(n×n-1)个数:

1、每一个数放在前一个数的右上一格;

2、如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;

3、如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;

4、如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内;

5、如果这个数所要放的格已经有数填入,那么就把它放在前一个数的下一行同一列的格内。

三阶幻方为例子:

一居上行正中央——数字 1 放在首行最中间的格子中。如下图:

依次斜填切莫忘——向右上角斜行,依次填入数字。如下图:

上出框界往下写——如果出了上框边界,就将数字填在该列最下面空格里。如下图:

右出框时左边放——如果出了右框边界,就将数字填在该行最左空格里。如下图:

重复便在下格填——如果右上格子已填数字,就填在前一数字下面空格里。如下图:

出角重复一个样——如果朝右上角出框界,和“重复”的情况做同样处理。如下图:

最后8和9按照右出界、上出界的方法填写,如下图:

完成!

按照这种方式,完成后,做镜像或旋转对称,可得到实际相同的其他填法,如:

 

用该填法得到的5阶幻方:

7阶幻方:

二、偶数阶幻方

偶阶幻方的概念:一个n阶幻方,当n为偶数时,我们称幻方为偶阶幻方。

偶阶幻方分为双偶幻方和单偶幻方。当n可以被4整除时,我们称该偶阶幻方为双偶阶幻方,如8阶、12阶、16阶等;当n不可被4整除时,我们称该偶阶幻方为单偶阶幻方(即4M+2式幻方),如6阶、10阶、14阶等。偶数阶幻方的构造方法由此分为两类:双偶阶幻方和单偶阶幻方。

待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1439626.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【操作系统】MacOS虚拟内存统计指标

目录 命令及其结果 参数解读 有趣的实验 在 macOS 系统中,虚拟内存统计指标提供了对系统内存使用情况和虚拟内存操作的重要洞察。通过分析这些指标,我们可以更好地了解系统的性能状况和内存管理情况。 命令及其结果 >>> vm_stat Mach Virtu…

电力负荷预测 | 基于TCN的电力负荷预测(Python)———数据预处理

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 基于TCN的电力负荷预测(Python) python3.8 keras2.6.0 matplotlib3.5.2 numpy1.19.4 pandas1.4.3 tensorflow==2.6.0

电赛相关——自制模块1

目录 一、双电源供电 原理图 PCB 仿真图 制板文件 二、单电源供电 原理图 PCB 仿真图 制板文件 该模块使用一个双运放,实现对输入信号改变幅度(放大或衰减,可调节,索性叫它变幅器吧)以及隔离缓存&#xff08…

一文读懂转融通

最近多家公司都在讲解关于转融通要求。今天我们就来详细聊聊! 转融通是一种证券借贷机制,它允许机构投资者在融资融券交易中借入或借出证券。 具体来说,机构投资者可以向券商借入证券,或者将持有的证券借给券商,以扩大…

Golang 基础 Go Modules包管理

Golang 基础 Go Modules包管理 在 Go 项目开发中,依赖包管理是一个非常重要的内容,依赖包处理不好,就会导致编译失败,本文将系统介绍下 Go 的依赖包管理工具。 我会首先介绍下 Go 依赖包管理工具的历史,并详细介绍下…

EMQX Enterprise 5.3 发布:审计日志、Dashboard 访问权限控制与 SSO 一站登录

EMQX Enterprise 5.3.0 版本已正式发布! 新版本带来多个企业特性的更新,包括审计日志,Dashboard RBAC 权限控制,以及基于 SSO(单点登录)的一站式登录,提升了企业级部署的安全性、管理性和治理能…

docker proxy 【docker 代理】

第一种 创建代理配置文件 mkdir -p /etc/systemd/system/docker.service.d/ cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf Environment"HTTP_PROXYhttp://192.168.21.101:7890" Environment"HTTPS_PROXYhttp://192.168.21.1…

IP定位技术助力打击网络欺诈

随着网络技术的飞速发展&#xff0c;网络欺诈行为也呈现出愈发猖獗的态势。然而&#xff0c;在这个数字化世界中&#xff0c;IP定位技术正逐渐崭露头角&#xff0c;成为打击网络欺诈的一大利器。本文将从多个方面探讨如何利用IP定位技术解决网络欺诈问题。 IP地址定位技术的基本…

寒假作业-day5

1>现有无序序列数组为23,24,12,5,33,5347&#xff0c;请使用以下排序实现编程 函数1:请使用冒泡排序实现升序排序 函数2:请使用简单选择排序实现升序排序 函数3:请使用直接插入排序实现升序排序 函数4:请使用插入排序实现升序排序 代码&#xff1a; #include<stdio.h&g…

MPLS VPN功能组件

VPN实例 VPN实例即为VPN路由转发表VRF&#xff0c;不同VPN之间的路由隔离通过VPN实例实现&#xff0c;PE上存在多个路由转发表&#xff0c;包括一个公网路由转发表&#xff0c;以及一个或多个VPN路由转发表。 PE为每个直接相连的Site建立并维护专门的VPN实例&#xff0c;VPN实…

C#中实现串口通讯和网口通讯(使用SerialPort和Socket类)

仅作自己学习使用 1 准备部份 串口通讯需要两个调试软件commix和Virtual Serial Port Driver&#xff0c;分别用于监视串口和创造虚拟串口。网口通讯需要一个网口调试助手&#xff0c;网络上有很多资源&#xff0c;我在这里采用的是微软商店中的TCP/UDP网络调试助手&#xff0…

Qt Windows和Android使用MuPDF预览PDF文件

文章目录 1. Windows MuPDF编译2. Android MuPDF编译3. 引用 MuPDF 库4. 解析本地PDF文件 1. Windows MuPDF编译 使用如下命令将MuPDF的源码克隆到本地 git clone --recursive git://git.ghostscript.com/mupdf.git直接用VS&#xff0c;打开 mupdf/platform/win32/mupdf.sln …

多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测

多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测 目录 多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预…

阿里云ECS服务器Linux安装Mysql8

链接&#xff1a;https://pan.baidu.com/s/1s9j7OhiOMV9e9Qq9GDbysA 提取码&#xff1a;dd5a --来自百度网盘超级会员V5的分享 Mysql官网:MySQL 关于Mysql Yum Repository介绍可以看下 更加简单 关于X86和ARM 传到服务器 进入所在包 cd /usr/local/develop/mysql8 解压 …

Appium使用初体验之参数配置,简单能够运行起来

一、服务器配置 Appium Server配置与Appium Server GUI&#xff08;可视化客户端&#xff09;中的配置对应&#xff0c;尤其是二者如果不在同一台机器上&#xff0c;那么就需要配置Appium Server GUI所在机器的IP&#xff08;Appium Server GUI的HOST也需要配置本机IP&#xf…

网络安全产品之认识准入控制系统

文章目录 一、什么是准入控制系统二、准入控制系统的主要功能1. 接入设备的身份认证2. 接入设备的安全性检查 三、准入控制系统的工作原理四、准入控制系统的特点五、准入控制系统的部署方式1. 网关模式2. 控制旁路模式 六、准入控制系统的应用场景七、企业如何利用准入控制系统…

[SOAP] SOAP协议基础知识

文章目录 SOAP和WSDLSOAP协议简介WebService 和 HTTP的区别SOAP元素介绍SOAP请求格式SOAP协议的版本和请求格式的异同 SOAP协议的演示WSDL 解读根据WSDL测试接口示例1&#xff1a;示例2&#xff1a;抓包&#xff1a; 用SOCKET Send发送SOAP信息SOAP的安全机制SOAP的缺点SOAP XM…

【动态规划】【前缀和】【C++算法】LCP 57. 打地鼠

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LCP 57. 打地鼠 勇者面前有一个大小为3*3 的打地鼠游戏机&#xff0c;地鼠将随机出现在各个位置&#xff0c;moles[i] [t,x,y] 表…

设置idea中放缩字体大小

由于idea没默认支持ctrl滚轴对字体调节大小&#xff0c;下面一起设置一下吧&#xff01; 点击 文件 -> 设置 按键映射 -> 编辑器操作 -> 搜索栏输入f 点击减小字体大小 -> 选择增加鼠标快捷键 按着ctrl键&#xff0c;鼠标向下滚动后&#xff0c;点击确定即可 然后…

【数据分享】1929-2023年全球站点的逐月平均风速(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2023年全球气象站…