幻方的概念
《幻方》教学课件

反射对称法
将奇数阶幻方反射后得到 偶数阶幻方。
递推构造法
通过已知的低阶幻方推导 出高阶幻方,常用的递推 关系有菲波那契数列等。
运用编程语言实现幻方构造
Python实现
使用Python的列表操作 和循环语句实现幻方的构 造。
Java实现
使用Java的数组和循环语 句实现幻方的构造。
C实现
使用C的数组和循环语句 实现幻方的构造。
幻方学习的重要性
幻方是一种具有独特魅力的数学游戏,通过学习可以帮助学生 提高数学兴趣和思维能力。
学习内容回顾
在幻方的学习过程中,学生需要掌握基本的数学原理和方法,如 对称性、组合数学等。
学习收获
通过幻方学习,学生可以提高观察力、逻辑思维和空间想象力等 多方面的能力。
对于幻方研究的展望与建议
深入探究
伪代码描述
给出算法的伪代码描述,以清晰简洁地表达算法 的实现细节。
算法复杂度分析
对算法的时间复杂度和空间复杂度进行分析,说 明算法的效率及可行性。
优化与改进
算法优化
针对现有算法的不足之处,提出相应的优化策略和改进方案,提 高算法的效率和性能。
优化实例
通过具体实例,演示优化后的算法相比原算法的优势和特点。
《幻方》教学课件
2023-11-02
目录
• 幻方简介 • 幻方的基本构造方法 • 幻方的数学原理 • 幻方的计算机实现 • 幻方在实践中的应用 • 总结与展望
01 幻方简介
幻方的定义
幻方是一种将n×n个数字排列成一个正方形,使每行、每列 和对角线上的数字之和均相等,具有神秘色彩的组合图形。
幻方最初由古希腊数学家费尔南德斯发现,被认为是数学与 艺术的完美结合。
幻方知识点总结

幻方知识点总结幻方的起源可以追溯到公元前2200年的古代中国,最早的幻方出现在中国的《周髀算经》中。
这本书中记载了3阶和4阶的幻方,展示了当时中国对幻方的早期研究和应用。
随后,幻方传入了印度、中东和欧洲等地区,在这些地区的文化和数学传统中都留下了深远的影响。
著名的数学家如拉马努金、欧拉、高斯等都曾对幻方进行了深入的研究,为幻方的发展和应用做出了重要贡献。
要理解幻方,首先需要了解几个基本概念:阶数、和数、构造方法和性质。
阶数是指幻方数组的边长,比如3阶幻方就是一个3x3的数组。
和数是指每一行、每一列和每一条对角线上的数字之和,也叫做幻方的魔数。
构造方法是指幻方的排列规则和建立过程,包括奇阶幻方和偶阶幻方两种不同的构造方法。
而幻方的性质则是指它特有的数学特点和规律,如对称性、旋转性、等价性等。
在构造幻方的过程中,最常用的方法是奇阶幻方和偶阶幻方的构造方法。
对于奇阶幻方来说,它的构造方法相对简单,常用的有“Siamese method”、“Loubere method”等,它们都是通过一定的规则和步骤将数字逐个填入方格中,最终形成一个满足要求的幻方。
而对于偶阶幻方来说,则需要更复杂的构造方法,常用的有“method of de la Loubere”、“methodof de la Hire”等,它们需要通过巧妙的排列和替换来构造出一个满足要求的幻方。
在构造的过程中,对数字的排列、替换和对称性的利用都是十分重要的技巧。
除此之外,幻方还具有一些特殊的性质和规律。
比如,幻方的逆幻方、旋转幻方和反转幻方都是与原幻方有一定联系的新幻方,它们之间的对应关系和巧妙的变换方法都是幻方研究的重要内容。
幻方还具有对称性和等价性,这使得幻方可以在不同的方向上进行旋转、翻转和变换,从而获得新的幻方和新的挑战。
在实际生活中,幻方还有许多有趣的应用,比如在数学教育、艺术设计、密码学等领域都可以看到幻方的身影。
幻方的研究和探索不仅仅是一种数学游戏,它还蕴含着丰富的数学知识和有趣的推理技巧。
幻方的规律和方法初一

幻方的规律和方法初一
幻方的规律和方法初一
幻方又称魔方,是由普通的立方体拼凑而成的一个数学装置,它有九个正方形面,每个正方形面上都印有六种不同的颜色。
在幻方中,每个小正方形代表一个数字,这些数字的和保持一定的规律性,使得从任意一个方向看,无论大小、水平还是斜着看,所有行和列的和都是相同的。
幻方的规律和方法初一,是指,解决一个幻方问题时,应该首先熟悉幻方的规律,然后根据规律来解决问题。
对于初一级的幻方,要掌握它的规律和方法,可以采用如下三步:
1. 熟悉幻方的基本概念:幻方由九个正方形面组成,每个正方形面上都印有六种不同的颜色,每个小正方形代表一个数字,这些数字的和保持一定的规律性,使得从任意一个方向看,所有行和列的和都是相同的。
2. 熟悉解题的基本思路:首先,确定好每个小正方形的位置,然后根据所给的数字,把它们填入到正确的位置上,最后,根据幻方的规律,把没有给定的数字补充完整。
3. 熟悉解题步骤:首先,确定好每个小正方形的位置,然后根据所给的数字,把它们填入到正确的位置上,接着,从每个小正方形开始,根据幻方的规律,把其他没有给定的数字补充完整,最后,根据幻方规律,检查每一行、每一列、每个正方形面上的数字之和是否相等。
以上就是幻方的规律和方法初一的介绍,只要熟悉了基本概念、解题的基本思路和解题步骤,就可以轻松解决幻方问题。
小学奥数题目-二年级-数字敏感度类-简单幻方

简单幻方幻方1.概念简析:幻方:是指横行、竖列、对角线上数的和都相等的数的方阵,具有这一性质的3×3的数阵称作三阶幻方,4×4的数阵称作四阶幻方,5×5的称作五阶幻方……如图为三阶幻方、四阶幻方的标准式样.幻和:是指每行或每列或每条对角线上所有数字之和。
2.解题方法:三阶幻方的性质1.幻和相等,幻和等于9个数的和除以3.2.中间数必位于幻方中心,中间数等于幻和除以3.3.黄金三角: 黄金三角顶点的数为两腰之和除以2.如右图所示,在正方形的空格里填上适当的数,使每一横行、竖行、斜行的三个数相加都为21.1.1.如右图所示,在正方形的空格里填上适当的数,使每一横行、竖行、以及对角线上的三个数相加都为18.问第三行的三个数字从左到右组成的数为_______.2.2.在空格里填数,使横行、竖行、以及对角线上的三个数相加得30。
问四个角数字之和为_______.如图所示,在正方形空格里填上适当的数,使每一横行、竖行、斜行的四个数相加都等于34.1.1.在正方形空格里填上适当的数,使每一横行、竖行以及对角线上的四个数相加都等于34.问四个角数字之和为_______.2.2.在下图的方格里填上适当的数,使每一横行、竖行、以及对角线上的三个数相加都为18.问四角上的数字之和为________.请你在下图的方格里填上合适的数,使每行、每列及两条对角线上的三个数相加的和都相等。
1.1.八戒巡山,遇到一块大石头挡路,上面写着:在方格里填上合适的数,使每行、每列及两条对角线上的三个数相加的和都相等,填写正确才能过去,聪明的小朋友你会填吗?问最后一行的三位数为_________.2.2.请你在下图的方格里填上合适的数,使每行、每列及两条对角线上的三个数相加的和都相等。
问四角上的数字之和为________.请你在下图的方格里填上合适的数,使每行、每列及两条对角线上的三个数相加的和都相等。
1.1.请你在下图的方格里填上合适的数,使每行、每列及两条对角线上的三个数相加的和都相等。
幻方知识点总结

幻方知识点总结一、幻方的定义。
幻方是一种将数字安排在正方形格子中,使每行、每列和对角线上的数字之和都相等的数学结构。
例如,一个简单的三阶幻方(3×3的方格):begin{array}{ccc}hline8 1 6 hline3 5 7 hline4 9 2 hlineend{array}这里每行、每列和两条对角线上的数字之和都是15。
二、幻方的阶数。
1. 阶数的概念。
- 幻方的阶数是指幻方的行数(或列数),用n表示。
常见的有三阶幻方(n = 3)、四阶幻方(n=4)等。
2. 不同阶数幻方的特点。
- 三阶幻方。
- 是最基本、最常见的幻方。
它的数字组合相对固定,中心数字具有特殊性质。
在三阶幻方中,中心数字是这9个数字的平均数。
例如在上面的三阶幻方中,数字是1 - 9,它们的平均数是5,正好是中心数字。
- 四阶幻方。
- 构造相对复杂一些。
四阶幻方的幻和(每行、每列、对角线数字之和)计算为:(1 + 2+3+·s+16)÷4=(16×(16 + 1)÷2)÷4= 34。
三、幻方的构造方法。
1. 奇数阶幻方(以三阶幻方为例)——罗伯法。
- 把1(或最小的数)放在第一行正中。
- 按以下规律排列剩下的数:- 每一个数放在前一个数的右上一格。
- 如果这个数所要放的格已经超出了最顶行,那么就把它放在底行,仍然要放在右一列。
- 如果这个数所要放的格已经超出了最右列,那么就把它放在最左列,仍然要放在上一行。
- 如果这个数所要放的格已经填好了其他的数,或者同时超出了顶行和右列,那么就把这个数放在前一个数的下一行同一列的格内。
2. 偶数阶幻方(以四阶幻方为例)——对称交换法。
- 先将1 - 16按顺序填入4×4的方格中。
- 然后将对角线上的数字(从左上角到右下角和从右上角到左下角)进行对称交换。
例如,交换1和16,4和13,6和11,7和10,就可以得到一个四阶幻方。
思维导引幻方与数阵教案

思维导引-幻方与数阵教案第一章:幻方的概念与性质1.1 幻方的定义解释幻方的概念,让学生理解幻方是一种特殊的方阵,其每一行、每一列以及两条对角线上的数字之和都相等。
1.2 幻方的性质探讨幻方的性质,如奇数阶幻方的存在性、最小正整数幻方的构造方法等。
引导学生通过数学归纳法证明幻方的性质。
第二章:幻方的构造方法2.1 经典幻方的构造介绍经典幻方的构造方法,如Lehmer算法,让学生理解并掌握如何构造最小正整数幻方。
2.2 非经典幻方的构造探讨非经典幻方的构造方法,如带重复数字的幻方、带特定数字序列的幻方等。
引导学生通过实例分析和归纳总结构造方法。
第三章:数阵与幻方的关系3.1 数阵的概念解释数阵的概念,让学生理解数阵是一种矩阵,其元素可以是数字或符号。
3.2 数阵与幻方的联系探讨数阵与幻方的联系,如数阵可以看作是幻方的一种扩展形式,幻方可以看作是特殊的三维数阵等。
引导学生通过实例分析和转化理解数阵与幻方的关系。
第四章:数阵的运算与性质4.1 数阵的运算介绍数阵的运算规则,如加法、减法、乘法、除法等,让学生掌握数阵的运算方法。
4.2 数阵的性质探讨数阵的性质,如对角线对称性、行列式性质等,让学生理解并应用数阵的性质解决问题。
第五章:数阵的应用5.1 数阵在数学问题中的应用介绍数阵在解决数学问题中的应用,如数阵的行列式在解线性方程组中的应用等。
5.2 数阵在其他领域中的应用探讨数阵在其他领域中的应用,如数阵在图像处理、数据分析等领域的应用。
引导学生通过实例分析和项目实践,体验数阵在不同领域的应用价值。
第六章:幻方的进阶构造6.1 多元幻方的构造介绍多元幻方的概念,即多维空间中的幻方,例如二维幻方、三维幻方等。
引导学生理解多元幻方的构造原理,并掌握基本的构造方法。
6.2 复合幻方的构造探讨复合幻方的构造,即通过组合多个基本幻方来构造新的幻方。
分析不同类型幻方的组合方式,以及如何保持幻方的性质。
第七章:数阵的变换与操作7.1 数阵的旋转与反射讲解数阵的旋转和反射操作,让学生了解这些变换对数阵的影响。
巧填幻方
这就是传说中神秘的幻方,让我们走进今天的课堂,一起来研究一下幻方的这是传说中神秘的幻方,我们走进今天的课堂,起来研究下幻方的
阶幻方……
幻和:幻方中每行/列/对角线的数的和。
幻和:15
【幻方填法】
民谣
四海三山八仙洞,九龙五子一枝连;;二七六郎赏月半,周围十五月团圆。
周围十月团圆把1-9这九个数填入下面的九宫格中,不能重复,使得每一行,每一列,每条对角线上的三个数的和相等。
试编出一个三阶幻方,使其幻和为30,而且幻方中没有重复的数。
中间数:在奇数阶幻方中填在最中间的数。
中中中
观察下三阶幻方:
幻和=(1+2+3+…+8+9)÷3=15
中间数=15÷3=5
在下图中的A、B、C、D处填上适当的数,使下图成为一个三阶幻方。
【三阶幻方性质】
角块等于对角两棱块之和的一半
在下图空格中填入7个自然数,使每行、每列、每一对角线三数之和为90把1-16这十六个数填入下面的图中,不能重复,使得每一行,每一列,每条对角线上的四个数的和相等。
在下图的每个方格中填入一个数字,使得每行、每列以及每条对角线
上的方格中的四个数字都是1,2,3,4。
⑴幻和=总和÷3
⑵中心数=幻和÷3=总和÷9
“T型台”
⑶型台
c=(a+b)÷2
二三阶幻方填法
二、三阶幻方填法。
幻方_??????
幻方1.概念简析:幻方:是指横行、竖列、对角线上数的和都相等的数的方阵,具有这一性质的3×3的数阵称作三阶幻方,4×4的数阵称作四阶幻方,5×5的称作五阶幻方……如图为三阶幻方、四阶幻方的标准式样.2.构造幻方常用的方法:(1)适用于所有奇数阶幻方的填法—罗伯法.口诀是:一居上行正中央,后数依次右上连.上出框时往下填,右出框时往左填.排重便在下格填,右上排重一个样.(2)仅适用于三阶幻方—九宫格口诀.口诀是:九宫者,二四为肩,六八为足,左七右三,戴九履一,五居中央。
(3)适用于所有偶数阶幻方的填法—对称交换的方法1.将数依次填入方格中,对角线满足要求。
2.调整行,对角线数不动,对称行的其它数对调;调整列,对角线数不动,对称列的其它数对调。
3.三阶幻方的性质:1.幻和相等,幻和等于9个数的和除以3.2.中间数必位于幻方中心,中间数等于幻和除以3.3.黄金三角: 黄金三角顶点的数为两腰之和除以2.视频描述把0、2、4、6、8、10、12、14、16这9个数填在下面图中的方格内,使每行、每列和每条对角线上的三个数的和都相等。
1.1.请用11、13、15、17、19、21、23、25、27编制一个三阶幻方。
注:此题答案默认为0,正确答案见解析!2.2.把7—15这九个数构成一个三阶幻方。
注:此题答案默认为0,正确答案见解析!3.3.请用1、4、7、10、13、16、19、22、25编制一个三阶幻方。
注:此题答案默认为0,正确答案见解析!视频描述将下面左边方格中的9个数填入右边方格中,使每一行、每一列、每条对角线中的三个数相加的和都相等。
1.1.将图中的数重新排列,使横行、竖行、对角线上的三个数的和都相等。
注:此题答案默认为0,正确答案见解析!2.2.把3、4、5、8、9、10、13、14、15编成一个三阶幻方,并求出幻和是多少?3.3.将图中的数重新排列,使横行、竖行、对角线上的三个数的和都相等。
数学 幻方知识点
数学幻方知识点一、知识概述《幻方知识点》①基本定义:幻方就是一个正方形的数阵。
在这个数阵里,横着每行数字加起来的和、竖着每列数字加起来的和以及两条对角线上数字加起来的和,都相等。
比如一个3×3的幻方,就像一个九宫格,给每个格子里填上不同的数,满足刚刚说的这些和相等的条件。
②重要程度:幻方在数学里算是比较有趣又有挑战性的一部分。
它能锻炼咱们对数字的感觉和计算能力,还能加深对数字规律的理解。
而且它和一些更高级的数学知识也有点联系,算入门数学里比较独特的一块。
③前置知识:首先要对基本的加法运算特别熟练,得能快速准确地算出一些数字的和。
另外,对数字顺序得很熟悉,比如说1到9这些自然数的顺序。
还有就是对数阵这个概念得有点概念,知道行列是怎么回事。
④应用价值:幻方可不光是在纸上玩玩数字游戏。
在编程里,特别是设计算法的时候能涉及到幻方的原理,像是怎么让程序快速找到满足幻方规则的数字组合。
而且从研究数字规律的角度看,幻方里藏着不少数学奥秘,可能对密码学之类的可以提供一些思路。
二、知识体系①知识图谱:幻方在数学里属于数字规律探索这个分支里的。
算是一种特殊的数字组合现象,不是像四则运算那样基础,但在探索数字多种组合奥秘这一块是很有代表性的。
②关联知识:和加法运算有着直接联系,因为都是靠加法来确定幻方的和是否相等的。
和数列也有点关系,幻方里每行每列的数字可以看成是一个特殊的数列。
③重难点分析:难点就是找到那一套满足幻方条件的数字组合,特别是幻方规格大一些的时候,像5×5,7×7的幻方就更难了。
重点是要清楚幻方的定义和确定幻方和的计算方法。
④考点分析:在考试里,如果是数学竞赛可能会碰到幻方的题目。
一般会考查你能不能找到幻方的缺失数字,或者判断一组数字能否组成幻方,考查方式就是给你个残缺的幻方或者一组数字,让你按幻方的规则去处理。
三、详细讲解【理论概念类】①概念辨析:幻方核心就是它的数字组合满足特定的和相等的条件。
探寻神奇的幻方ppt
展望
01
幻方在数学领域的应用
幻方作为一种具有特殊性质的矩阵,在数学领域有着广泛的应用。例
如,幻方可以用于解决一些线性代数、组合数学和图论等问题。
02 03
幻方在其他领域的应用
除了在数学领域的应用外,幻方还被广泛应用于其他领域,如计算机 科学、信息科学、物理学等。这些领域的研究者可以利用幻方的性质 来解决一些与实际生活相关的问题。
负数阶幻方的构造方法
负数阶幻方是一种由(-n)×(-n)个元素组成的正方 形矩阵,其中n为正整数。
中心法:将幻方划分为四个相等的子区域,每个 子区域包含(-n-1)/2×(-n-1)/2个元素。将每个子 区域的中心元素放置在幻方对应位置上,然后按 照规律填充其他元素。
奇数阶幻方构造方法可以扩展到负数阶幻方,只 需将阶数取相反数即可。
幻方可以用于解决组合问题,例如通过构造幻方,可以找到某 些组合问题的最优解。
幻方可以用于研究组合性质,例如通过观察幻方中的数字规律 ,可以揭示出一些组合性质和组合恒等式。
在几何学中的应用
01
几何学是研究形状、大小、位置和变化的数学分支。幻方作为一种几何结构, 在几何学中有着广泛的应用。
02
幻方可以用于研究几何形状的对称性和周期性,例如通过构造具有特定对称性 的幻方,可以找到某些几何形状的最优填充方式。
幻方可以用于研究代数结构和性质,例如通过 观察幻方中的数字规律,可以揭示出一些代数 结构和性质。
05
幻方在其他领域的应用
在计算机科学中的应用
程序设计和编码
幻方可以被用来检测程序的正确性和效率,因为它们具有完美的数学性质。例如 ,程序员可以使用幻方来检测算法的正确性,或者在编写代码时使用幻方来优化 代码结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
九宫洛书蕴含奇门遁甲的布阵之道。
九宫之数源于易经中,《易经》。
图中边框外围的数字之和就是幻和。
红色为偶数,黑色为奇数。
可以说反幻方是一种特殊的幻方。
反幻方的幻和可以全部不同,也可以部分相同。
如下图多种3阶反幻方。
多种反幻方幻方的历史幻方又称为魔方,方阵或厅平方,它最早起源于我国。
宋代数学家杨辉称之为纵横图。
幻方的幻在于无论取哪一条路线,最后得到的和或积都是完全相同的。
大约两千多年前西汉时代,流传夏禹治水时,黄河中跃出一匹神马,马背上驮着一幅图,人称「河图」;又洛水河中浮出一只神龟,龟背上有一张象征吉祥的图案称为「洛书」.他们发现,这个图案每一列,每一行及对角线,加起来的数字和都是一样的,这就是我们现在所称的幻方.也有人认为"洛书"是外星人遗物;而"河图"则是描述了宇宙生物(包括外星人)的基因排序规则,幻方是外星人向地球人的自我介绍.另外前几年在上海浦东陆家嘴地区挖出了一块元朝时代伊斯兰教信徒所挂的玉挂,玉挂的正面写着:「万物非主,惟有真宰,默罕默德,为其使者」,而玉挂的另一面就是一个四阶幻方.关于幻方的起源,我国有“河图”和“洛书”之说。
相传在远古时期,伏羲氏取得天下,把国家治理得井井有条,感动了上天,于是黄河中跃出一匹龙马,背上驮着一张图,作为礼物献给他,这就是“河图”,也是最早的幻方。
伏羲氏凭借着“河图”而演绎出了八卦,后来大禹治洪水时,洛水中浮出一只大乌龟,它的背上有图有字,人们称之为“洛书”。
“洛书”所画的图中共有黑、白圆圈45个。
把这些连在一起的小圆和数目表示出来,得到九个。
这九个数就可以组成一个纵横图,人们把由九个数3行3列的幻方称为3阶幻方,除此之外,还有4阶、5阶...后来,人们经过研究,得出计算任意阶数幻方的各行、各列、各条对角线上所有数的和的公式为:S=n(n ^2+1) /2其中n为幻方的阶数,所求的数为S.幻方最早记载于我国公元前500年的春秋时期《大戴礼》中,这说明我国人民早在2500年前就已经知道了幻方的排列规律。
而在国外,公元130年,希腊人塞翁才第一次提起幻方。
我国不仅拥用幻方的发明权,而且是对幻方进行深入研究的国家。
公元13世纪的数学家杨辉已经编制出3-10阶幻方,记载在他1275年写的《续古摘厅算法》一书中。
在欧洲,直到1514年,德国著名画家丢勒才绘制出了完整的四阶幻方。
而在国外,十二世纪的阿拉伯文献也有六阶幻方的记载,我国的考古学家们曾经在西安发现了阿拉伯文献上的五块六阶幻方,除了这些以外,历史上最早的四阶幻方是在印度发现的,那是一个完全幻方(后面会提到),而且比中国的杨辉还要早了两百多年,印度人认为那是天神的手笔.1956年西安出土一铁片板上所刻的六阶幻方(古阿拉伯数字)十三世纪,东罗马帝国才对幻方产生兴趣,但却没有什么成果.直到十五世纪,住在君士坦丁堡的魔索普拉才把我国的纵横图传给了欧洲人,欧洲人认为幻方可以镇压妖魔,所以把它作为护身符,也把它叫作「Magic Square」.欧洲最早的幻方是在德国一位名画家Albrecht Dure的画里的,上面有一个四阶幻方,而这个幻方的下面两个数字正好是这幅画的制作年代(1514年).这是欧洲最古老的幻方.幻方世界纪录目前我国取得不少幻方世界纪录:幻方专家李文第一位构造成功10阶标准幻立方,第一位构造出最低阶729阶五次幻方,和多项平方幻方世界纪录,幻方专家苏茂挺第一位构成功32阶完美平方幻方.等.提醒大家注意,任意阶幻方构造法,任意维幻方构造法,任意次幻方构造法,都早已找到.不存在最大阶幻方的世界纪录之类.对于各种媒体报导的幻方世界之最,很多是不实报导.不存在未解最大阶数幻方.幻方的种类现在的幻方种类很多,如一般幻方,对称幻方,同心幻方,完美幻方平面幻方(二维),幻立方(三维),多维幻方,平方幻方,立方幻方,高次幻方,高次多维幻方.魔鬼幻方,马步幻方,多重幻方,六角幻方,双料幻方,幻环,幻圆等等特殊的幻方有反幻方,完美反幻方。
幻方欣赏中国幻方网站:[1]中国幻方博客:[2]法国高次幻方网站:[3]日本多维幻方网站:[4]富兰克林的幻方:[5]九阶平方幻方: [6]十二阶完美幻方(每个2×2子矩阵和为286):12阶幻方编制幻方的程序目前利用计算机编程序,可求解出任意阶幻方.(但数字位数受电脑限制,实际上只能是有限范围内的任意阶)对于某些平方幻方,高次幻方,利用计算机辅助计算,也可快速求得.一次幻方,一次幻立方,一次多维幻方,甚至可用简单公式全部求得.某些类型的平方幻方,甚至高次高维幻方,也可用公式求得.在幻方公式求解方法,我国处于世界领先水平.我国李文的高维高次幻方公式,是幻方理论中的精品.吴硕辛的高次幻方理论,也可用公式求解.幻方的构造在《射雕》中郭黄二人被裘千仞追到黑龙潭,躲进瑛姑的小屋。
瑛姑出了一道题:数字1~9填到三行三列的表格中,要求每行、每列、及两条对角线上的和都相等。
这道题难倒了瑛姑十几年,被黄蓉一下子就答出来了。
4 9 23 5 78 1 6这就是一个最简单的3阶平面幻方。
因为幻方的智力性和趣味性,很游戏和玩具都与幻方有关,如捉放曹、我们平时玩的六面体,也成为学习编程时的常见问题。
幻方又称纵横图、九宫图,最早记录于我国古代的洛书。
据说夏禹治水时,河南洛阳附近的大河里浮出了一只乌龟,背上有一个很奇怪的图形,古人认为是一种祥瑞,预示着洪水将被夏禹王彻底制服。
后人称之为"洛书"或"河图",又叫河洛图。
南宋数学家杨辉,在他著的《续古摘奇算法》里介绍了这种方法:只要将九个自然数按照从小到大的递增次序斜排,然后把上、下两数对调,左、右两数也对调;最后再把中部四数各向外面挺出,幻方就出现了。
(摘自《趣味数学辞典》)最简单的幻方就是平面幻方,还有立体幻方、高次幻方等。
对于立体幻方、高次幻方目前世界上很多数学家仍在研究,现在只讨论平面幻方。
对平面幻方的构造,分为三种情况:N为奇数、N为4的倍数、N为其它偶数(4n+2的形式)⑴ N 为奇数时,最简单(1) 将1放在第一行中间一列;(2) 从2开始直到n×n止各数依次按下列规则存放:按45°方向行走,如向右上每一个数存放的行比前一个数的行数减1,列数加1(3) 如果行列范围超出矩阵范围,则回绕。
例如1在第1行,则2应放在最下一行,列数同样加1;(4) 如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面。
⑵ N为4的倍数时采用对称元素交换法。
首先把数1到n×n按从上至下,从左到右顺序填入矩阵然后将方阵的所有4×4子方阵中的两对角线上位置的数关于方阵中心作对称交换,即a(i,j)与a(n-1-i,n-1-j)交换,所有其它位置上的数不变。
(或者将对角线不变,其它位置对称交换也可)⑶ N 为其它偶数时当n为非4倍数的偶数(即4n+2形)时:首先把大方阵分解为4个奇数(2m+1阶)子方阵。
按上述奇数阶幻方给分解的4个子方阵对应赋值上左子阵最小(i),下右子阵次小(i+v),下左子阵最大(i+3v),上右子阵次大(i+2v)即4个子方阵对应元素相差v,其中v=n*n/4四个子矩阵由小到大排列方式为① ③④ ②然后作相应的元素交换:a(i,j)与a(i+u,j)在同一列做对应交换(j<t 或j>n-t+2),a(t-1,0)与a(t+u-1,0);a(t-1,t-1)与a(t+u-1,t-1)两对元素交换其中u=n/2,t=(n+2)/4 上述交换使每行每列与两对角线上元素之和相等。
C语言实现#include"stdio.h"#include"math.h"int a[256][256];int sum;int check();void ins(int n);main(){int i,j,n,k,t,p,x;scanf("%d",&n);sum=(n*n+1)*n/2;if(n%2==1)//奇数幻方{ins(n);k=n;}if(n%4==2)//单偶数幻方{k=n/2;ins(k);for(i=0;i<k;i++)for(j=0;j<k;j++){a[j+k]=a[j]+2*k*k;a[i+k][j]=a[j]+3*k*k;a[i+k][j+k]=a[j]+k*k;}t=(n-2)/4;for(i=0;i<k;i++)for(j=0;j<k;j++){if((j<t)&&(i<t)){p=a[j];a[j]=a[i+k][j];a[i+k][j]=p;}if((j<t)&&(i>k-t-1)){p=a[j];a[j]=a[i+k][j];a[i+k][j]=p;}if((i>=t&&i<=k-t-1)&&(j>=t&&j<t*2)){p=a[j];a[j]=a[i+k][j];a[i+k][j]=p;}if(j>1&&j<=t){p=a[j+k];a[j+k]=a[i+k][j+k];a[i+k][j+k]=p; }}}if(n%4==0)//双偶数幻方{x=1;for(i=0;i<n;i++)for(j=0;j<n;j++)a[j]=x++;for(i=0;i<n;i++)for(j=0;j<n;j++){if(i%4==0&&abs(i-j)%4==0)for(k=0;k<4;k++)a[i+k][j+k]=n*n-a[i+k][j+k]+1;else if(i%4==3&&(i+j)%4==3)for(k=0;k<4;k++)a[i-k][j+k]=n*n-a[i-k][j+k]+1;}}if(check(n)==1){for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%5d",a[j]);printf("\n");}return ;}}int check(int n)//检验是否是幻方{int i,j,sum1=0,sum2;for(i=0;i<n;i++){for(j=0;j<n;j++)sum1+=a[j];if(sum1!=sum) return 0;sum1=0;}for(i=0;i<n;i++){for(j=0;j<n;j++)sum1+=a[j];if(sum1!=sum) return 0;sum1=0;}for(sum1=0,sum2=0,i=0,j=0;i<n;i++,j++) {sum1+=a[j];sum2+=a[n-j-1];}if(sum1!=sum) return 0;if(sum2!=sum) return 0;else return 1;}void ins(int n)//单偶数幻方的输入{ int x,y,m;x=0;y=n/2;for(m=1;m<=n*n;m++){a[x][y]=m;if (m%n!=0)在居中的方格向上一格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向上移二格继续填写。