介绍3四年级幻方 练习的一些常识

三阶幻方(1)――基本篇_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,三阶幻方_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
三阶幻方是最简单的,又叫九宫格,是由1,2,3,4,5,6,7,8,9九个数字组成的一个三行三列的(如右图示),其对角线、横行、纵向的的和都为15,称这个最简单的幻方的幻和为15。中心数为5。
三阶幻方基本型
相传,时,洛水中出现了一个“神龟”背上有美妙的图案,史称“洛书”,用现在的数字翻译出来,就是三阶幻方。
2500年前,孔子在他研究《易经》的著作《系词上传》中记载了:“河出图,洛出书,圣人则之。”最早将数字与洛书相连的记载是2300年前的《庄子·天运》,它认为:“天有六极五常,帝王顺之则治,逆之则凶。九洛之事,治成德备,监照下土,天下戴之,此谓上皇。”明代数学家程大位在《算法统宗》中也曾发出“数何肇?其肇自图、书乎?伏羲得之以画卦,大禹得之以序畴,列圣得之以开物”的感叹,大意是说,数起源于远古时代黄河出现的河图与洛水出现的洛书,伏羲依靠河图画出八卦,大禹按照洛书划分九州,并制定治理天下的九类大法,圣人们根据它们演绎出各种治国安邦的良策,对人类社会与自然界的认识也得到步步深化。大禹从洛书中数的相互制约,均衡统一得到启发而制定国家的法律体系,使得天下一统,归于大治,这是借鉴思维的开端。这种活化思维的方式已成为科学灵感的来源之一。从洛书发端的幻方在数千年后的今天更加生机盎然,被称为具有永恒魅力的。十三世纪,中国南宋数学家在世界上首先开展了对幻方的系统研究,欧洲十四世纪也开始了这方面的工作。著名数学家费尔玛、欧拉都进行过幻方研究,如今,幻方仍然是组合数学的研究课题之一,经过一代代数学家与数学爱好者的共同努力,幻方与它的变体所蕴含的各种神奇的科学性质正逐步得到揭示。目前,它已在组合分析、实验设计、图论、数论、群、对策论、纺织、工艺美术、程序设计、人工智能等领域得到广泛应用。1977年,4阶幻方还作为人类的特殊语言被美国旅行者1号、2号飞船携入太空,向广袤的宇宙中可能存在的外星人传达人类的文明信息与美好祝愿!
由1、2、3、……等生成的幻方为基本幻方,在此基础上各数再加或减一个相同的数,可组成由零或组成的新幻方,新
由三阶基本幻方各数减1生成的新幻方
幻方的幻和也随之变化,不再与原幻方幻和同。
如上图基本幻方中各数减1生成的新幻方,幻和为12,如下图示:
三阶幻方构造
想:1+9=10,2+8=10,3+7=10,4+6=10。这每对数的和再加上5都等于15,可确定中心格应填5,这四应分别填在横、竖和的位置上。先填四个角,若填两对奇数,那么因三个奇数的和才可能得奇数,四边上的已不可再填奇数,不行。若四个角分别填一对,一对奇数,也行不通。因此,判定四个角上必须填两对偶数。对角线上的数填好后,其余格里再填奇数就很容易了。
南宋数学家概括的构造方法为:
“九子斜排。上下对易,
左右相更。四维突出。”
中国古代九宫格的填法口诀是:
九宫之义,法以灵龟,
二四为肩,六八为足,
左七右三,戴九履一,
五居中央。
  也有把这两者综合起来说的:
九子斜排,上下对易,
左右相更,四维挺出,
戴九履一,左七右三,
二四为肩,六八为足
奇阶幻方通用构造法
口诀:  1 居上行正中央,
依次斜填切莫忘,
上出框界往下写,
右出框时左边放,
重复便在下格填,
出角重复一个样。
1)在第一行居中的方格内放1,依次向右上方填入2、3、4…;
2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;
3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;
4)如果右上方已有数字和出了,则向下移一格继续填写。
5)也可将所填数在幻方中所对应的数填在幻方中对应的位置。
例如:1为第一行中间数,则将对应的9填在最后一行的中间。2以次类推。
按照这种方式,做镜像或旋转对称,可得到实际相同的其他填法:  只要将1放于四个变格的正中,向幻方外侧依次斜填其余数字;若出边,将数字调到另一侧;若目标格已有数字或出角,回一步填写数字,再继续按一开始的相同方向依次斜填其余数字。
三阶幻方旋转情况
用1~9填出的三阶基本幻方的所有情况都是相互镜像或旋转的。  是本质相同的不同表现:
三阶幻方特殊数组
任意等差数列
任意等差数列都可以由1~9的每个数乘以X,再加Y,得到。  因此按照原先的从小到大的顺序排列,幻方仍然成立。
例如要用6、9、12、15、18、21、24、27、30构成幻方:  把1-9构成的3阶幻方的每个数乘以3,再加3:
等差的三组等差
3个一组的数,组与组等差,每组数与数等差,这样的数能构成3阶幻方。  同样按照基本幻方的大小排列他们的顺序即可
例如以下3组9个数:
【2、4、6】、【13、15、17】、【24、26、28】构成幻方,
幻和值=45。
三阶幻方规律
以下规律对所有三阶幻方均成立:
三阶幻方幻和与中心数
幻和=3×中心数  证明:
通过中心数有4条线。将这4条线全部加起来,可以得到:
幻和×4=全体数的和+中心数×3
而我们知道三阶幻方中,全体数的和=3×幻和(三行或三列)
幻和×4=幻和×3+中心数×3
化简得到:  幻和=3×中心数
三阶幻方过中心的线
过中心的线上的三个数,依次成等差数列。或者说,关于中心位置对称的两数,平均数是中心数。
过中心线的三个数之和为幻和。性质1已经说明,幻和=3×中心数。  因此中心数是这三个数的平均数。  从这之中去掉中心数不改变平均数。  因此中心数是关于中心位置对称的两数。  也就是一个数比中心数多多少,另一个数就比中心数少多少。即他们成等差数列
三阶幻方边角关系
2倍角格的数=不相邻的2个边格数之和。2a=b+c  如:基本幻方中:2*8=9+7,2*4=1+7,2*6=3+9,2*2=1+3
过a有3条线。计算这三条线的和:
幻和×3=全体数的和+2×a-b-c
全体数的和=幻和×3
2×a-b-c=0
清除历史记录关闭幻方的性质与应用_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
幻方的性质与应用
&&幻方的性质与应用
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩9页未读,
定制HR最喜欢的简历
你可能喜欢幻方_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
幻方(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。幻方也是一种中国传统游戏。旧时在官府、学堂多见。它是将从一到若干个数的自然数排成纵横各为若干个数的正方形,使在同一行、同一列和同一对角线上的几个数的和都相等。幻方(中的数列A006052)的数目还没有得到解决。
幻方完全幻方
完全幻方指一个幻方行、列、主对角线及泛对角线各数之和均相等
幻方乘幻方
乘幻方指一个幻方行列、对角线各数乘积相等。
幻方高次幻方
n阶幻方是由前n^2(n的2次方)个自然数组成的一个n阶,其各行、各列及两条对角线所含的
  n个数的和相等。例子:(三阶幻方,幻和为15,)
高次幻方是指,当组成幻方各数替换为其2,3,...,k次幂时,仍满足幻方条件者,称此幻方为k次幻方。
幻方反幻方
的定义:在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵行及对角线的几个数之和不相等,具有这种性质的图表,称为“反幻方”。
反幻方与正幻方最大的不同点是幻和不同,正幻方所有幻和都相同,而反幻方所有幻和都不同。所谓幻和就是幻方的任意行、列及几个数之和。如下图3阶反幻方的比较。
图中边框外围的数字之和就是幻和。红色为,黑色为奇数。
可以说反幻方是一种特殊的幻方。反幻方的幻和可以全部不同,也可以部分相同。如下图多种3阶反幻方。
多种反幻方
幻方三阶幻方
如图,1和7相加除以2=4
1和3相加除以2=2
幻方起源记载
在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵行及的几个数之和都相等,具有这种性质的图表,称为“幻
《周易本义》中的《洛书》,一个三阶幻方
方”。中国古代称为“”、“”,又叫“”。
九宫洛书蕴含奇门遁甲的布阵之道。九宫之数源于《易经》。幻方也称、、,它是科学的结晶与吉祥的象征,发源于中国古代的洛书——。公元前一世纪,时的在他的政治礼仪著作《大戴礼·明堂篇》中就有“二、九、四、七、五、三、六、一、八”的洛书九宫数记载。洛书被世界公认为组合数学的鼻祖,它是中华民族对人类的伟大贡献之一。同时,洛书以其高度抽象的内涵,对中国古代政治伦理、数学、天文气象、哲学、医学、宗教等都产生了重要影响。在远古传说中,于治国安邦上也具有积极的寓意!包括洛书在内的幻方自古以来在亚、欧、美洲不少国家都被作为驱邪避凶的吉祥物,这种古代地域广泛的应该说是极其少见的。1975年出版的自然辩证法丛书《自然科学大事年表》,对于幻方作了特别的述说:“公元前一世纪,《》记载,中国古代有象征吉祥的河图洛书纵横图,即为九宫算,被认为是现代‘组合数学’最古老的发现。”还附了全书唯一的插图!
2500年前,孔子在他研究《易经》的著作《系词上传》中记载了:“河出图,洛出书,圣人则之。”最早将数
杜勒的《忧郁》,内含四阶幻方
字与洛书相连的记载是2300年前的《庄子·天运》,它认为:“天有六极,帝王顺之则治,逆之则凶。九洛之事,治成德备,监照下土,天下戴之,此谓上皇。”明代数学家在《算法统宗》中也曾发出“数何肇?其肇自图、书乎?伏羲得之以画卦,大禹得之以序畴,列圣得之以开物”的感叹,大意是说,数起源于远古时代黄河出现的河图与洛水出现的洛书,伏羲依靠河图画出八卦,大禹按照洛书划分九州,并制定治理天下的九类大法,圣人们根据它们演绎出各种治国安邦的良策,对人类社会与自然界的认识也得到步步深化。大禹从洛书的相互制约,均衡统一得到启发而制定国家的法律体系,使得天下一统,归于大治,这是借鉴思维的开端。这种活化思维的方式已成为科学灵感的来源之一。从洛书发端的幻方在数千年后更加生机盎然,被称为具有永恒魅力的数学问题。
十三世纪,中国数学家在世界上首先开展了对幻方的系统研究,欧洲十四世纪也开始了这方面的工作。著名数学家费尔玛、欧拉都进行过幻方研究,如今,幻方仍然是组合数学的研究课题之一,经过一代代数学家与数学爱好者的共同努力,幻方与它的变体所蕴含的各种神奇的科学性质正逐步得到揭示。它已在、实验设计、、、群、对策论、纺织、工艺美术、程序设计、人工智能等领域得到广泛应用。1977年,4阶幻方还作为人类的特殊语言被美国旅行者1号、2号飞船携入太空,向广袤的宇宙中可能存在的外星人传达人类的文明信息与美好祝愿。
幻方历史发展
幻方又称为,方阵或厅平方,最早起源于。宋代数学家称之为。
幻方的幻在于无论取哪一条路线,最后得到的和或积都是完全相同的。
大约两千多年前西汉时代,流传治水时,黄河中跃出一匹神马,马背上驮着一幅图,人称「」;又洛水河中浮出一只神龟,龟背上有一张象征吉祥的图案称为「」.他们发现,这个图案每一列,每一行及,加起来的数字和都是一样的,这就是我们所称的幻方.也有人认为&洛书&是外星人遗物;而&河图&则是描述了(包括外星人)的基因排序规则,幻方是外星人向地球人的自我介绍.另外在上海浦东地区挖出了一块元朝时代伊斯兰教信徒所挂的玉挂,玉挂的正面写着:「万物非主,惟有真宰,默罕默德,为其使者」,而玉挂的另一面就是一个四阶幻方.
关于幻方的起源,中国有“”和“洛书”之说。相传在远古时期,取得天下,把国家治理得井井有条,感动了上天,于是黄河中跃出一匹龙马,背上驮着一张图,作为礼物献给他,这就是“河图”,也是最早的幻方。伏羲氏凭借着“河图”而演绎出了八卦,后来大禹治洪水时,洛水中浮出一只大乌龟,它的背上有图有字,人们称之为“洛书”。“洛书”所画的图中共有黑、白圆圈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年).这是欧洲最古老的幻方.
清末民初数学家寿孝天自攥:
1956年冬,陕西省西安市郊元朝安西王府出土的金属铁板:
中国幻方协会前十位大师级人物:李文,郭先强,潘凤雏,苏茂挺,钟明,吴硕辛,曹陵,牛国良,彭保旺,曾学涵,他们全是中国的草根幻方达人,在幻方的学术研究上取得了一系列重大成果,很多研究成果领先于世界幻方研究同行。许仲义,李抗强,王忠汉,郭大焱,林正录等幻方前辈,他们也为中国幻方的研究与发展作出了无私的奉献,还有很多我们可能已经忘记了他们的名字,或许他们过去的研究成果在今天看来已经平淡无奇,但他们的历史阶段为我们后来者的研究提供了积极的养分。本协会一系列的幻方研究者,为中国乃至世界幻方学术研究、推广普及事业一直不懈奋斗着并将继续努力奉献。
中国取得不少幻方世界纪录:幻方专家第一位构造成功10阶标准,第一位构造出最低阶729阶五次幻方,第一位构造出最牛的36阶广义五次幻方,第一位理论上证明了存在最难的完美平方幻方,和多项平方幻方世界纪录,幻方专家苏茂挺第一位构成功32阶完美平方幻方.等。
提醒大家注意,任意阶幻方,任意维幻方构造法,任意次幻方构造法,都早已找到。
不存在最大阶幻方的世界纪录之类.
对于各种媒体报导的幻方世界之最,很多是不实报导,不存在未解最大阶数幻方。
幻方幻方欣赏
中国幻方网站
在线二维任意阶幻方生成;
法国高次幻方网站;
日本多维幻方网站;
富兰克林的幻方;
九阶平方幻方;
十二阶完美幻方(每个2×2子和为286):
幻方构造原理
在《射雕英雄传》中郭黄二人被追到黑龙潭,躲进的小屋。瑛姑出了一道题:数字1~9填到三行三列的表格中,要求每行、每列、及两条对角线上的和都相等。这道题难倒了瑛姑十几年,被一下子就答出来了。
492357816这就是一个最简单的3阶平面幻方。因为幻方的智力性和趣味性,很多游戏和玩具都与幻方有关,如捉放曹、我们平时玩的六面体,也成为学习编程时的常见问题。
幻方又称、,最早记录于中国古代的洛书。夏禹治水时,河南洛阳附近的大河里浮出了一只乌龟,背上有一个很奇怪的图形,古人认为是一种祥瑞,预示着洪水将被夏禹王彻底制服。后人称之为&洛书&或&河图&,又叫河洛图。
南宋数学家杨辉,在他著的《续古摘奇算法》里介绍了这种方法:只要将九个自然数按照从小到大的递增次序斜排,然后把上、下两数对调,左、右两数也对调;最后再把中部四数各向外面挺出,幻方就出现了
最简单的幻方就是平面幻方,还有立体幻方、高次幻方等。对于立体幻方、高次幻方世界上很多数学家仍在研究,只讨论平面幻方。
对平面幻方的构造,分为三种情况:N为奇数、N为4的倍数、N为其它偶数(4n+2的形式)
1、 N 为奇数时,最简单:
⑴ 将1放在第一行中间一列;
⑵ 从2开始直到n×n止各数依次按下列规则存放:
按 45°方向行走,如向右上
每一个数存放的行比前一个数的行数减1,列数加1
⑶ 如果行列范围超出矩阵范围,则回绕。
例如1在第1行,则2应放在最下一行,列数同样加1;
⑷ 如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时,
则把下一个数放在上一个数的下面。
2、 N为4的倍数时
采用交换法。
首先把数1到n×n按从上至下,从左到右顺序填入矩阵
然后将方阵的所有4×4子方阵中的两上位置的数关于方阵中心作对
称交换,即a(i,j)与a(n+1-i,n+1-j)交换,所有其它位置上的数不变。
(或者将对角线不变,其它位置对称交换也可)
**以上方法只适合于n=4时**
3、 N 为其它时
当n为非4倍数的偶数(即4n+2形)时:首先把大方阵分解为4个(2m+1阶)子方阵。
按上述奇数阶幻方给分解的4个子方阵对应赋值
由小到大依次为上左子阵(i),下右子(i+v),上右子阵(i+2v),下左子阵(i+3v),
即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 上述交换使行列及上元素之和相等。
#include&stdio.h&
#include&math.h&
int&a[256][256];
int&check();
void&ins(int&n);
void&main(){&&
int&i,j,n,k,t,p,x;&&
scanf(&%d&,&n);&&
sum=(n*n+1)*n/2;&&
if(n%2==1)&//奇数幻方&&&&
if(n%4==2)&{&//单偶数幻方&&&&
k=n/2;&&&&
ins(k);&&&&
for(i=0;&i&k;&i++)&&&&&&
for(j=0;&j&k;&j++){&&&&&&&
a[i][j+k]=a[i][j]+2*k*k;&&&&&&&&
a[i+k][j]=a[i][j]+3*k*k;&&&&&&&&
a[i+k][j+k]=a[i][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[i][j];&&&&&&&&&&
a[i][j]=a[i+k][j];&&&&&&&&&
a[i+k][j]=p;&&&&&&&&
if((j&t)&&(i&k-t-1)){&&&&&&&&&&
p=a[i][j];&&&&&&&&&&
a[i][j]=a[i+k][j];&&&&&&&&&&
a[i+k][j]=p;&&&&&&&&
if((i&=t&&i&=k-t-1)&&(j&=t&&j&t*2)){&&&&&&&&&&
p=a[i][j];&&&&&&&&&&
a[i][j]=a[i+k][j];&&&&&&&&&&
a[i+k][j]=p;&&&&&&&&
if(j&1&&j&=t){&&&&&&&
p=a[i][j+k];&&&&&&
a[i][j+k]=a[i+k][j+k];&&&&&&&&&&
a[i+k][j+k]=p;&&&&&&&&
if(n%4==0)&{&//双偶数幻方&&&&
for(i=0;&i&n;&i++)&&&&&&
for(j=0;&j&n;&j++)&&&&&&&&
a[i][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[i][j]);&&&&&&
printf(&\n&);&&&&
int&check(int&n)&{&//检验是否是幻方&&
int&i,j,sum1=0,sum2;&&
for(i=0;&i&n;&i++){&&&&
for(j=0;&j&n;&j++)&&&&&&
sum1+=a[i][j];&&&&
if(sum1!=sum)&&&&&&
return&0;&&&&
for(i=0;&i&n;&i++){&&&&
for(j=0;&j&n;&j++)&&&&&&
sum1+=a[i][j];&&&&
if(sum1!=sum)&&&&&&
return&0;&&&&
for(sum1=0,sum2=0,i=0,j=0;&i&n;&i++,j++){&&&&
sum1+=a[i][j];&&&&
sum2+=a[i][n-j-1];&&
if(sum1!=sum)&&&&
return&0;&&
if(sum2!=sum)&&&&
return&0;&&
void&ins(int&n)&{&//单偶数幻方的输入&&
int&x,y,m;&&
for(m=1;&m&=n*n;&m++){&&&
a[x][y]=m;&&&
if(m%n!=0){&&&&
x=x+n;&&&&
y=n-y;&&&&
else{&&&&&&
x++;&&&&&&
c++语言实现
(1)求奇数幻方
#include&stdio.h&
#include&math.h&
int&a[256][256];
int&check();
void&ins(int&n);
void&main(){&&
int&i,j,n,k,t,p,x;&&
scanf(&%d&,&n);&&
sum=(n*n+1)*n/2;&&
if(n%2==1)&//奇数幻方&&&&
if(n%4==2)&{&//单偶数幻方&&&&
k=n/2;&&&&
ins(k);&&&&
for(i=0;&i&k;&i++)&&&&&&
for(j=0;&j&k;&j++){&&&&&&&
a[i][j+k]=a[i][j]+2*k*k;&&&&&&&&
a[i+k][j]=a[i][j]+3*k*k;&&&&&&&&
a[i+k][j+k]=a[i][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[i][j];&&&&&&&&&&
a[i][j]=a[i+k][j];&&&&&&&&&
a[i+k][j]=p;&&&&&&&&
if((j&t)&&(i&k-t-1)){&&&&&&&&&&
p=a[i][j];&&&&&&&&&&
a[i][j]=a[i+k][j];&&&&&&&&&&
a[i+k][j]=p;&&&&&&&&
if((i&=t&&i&=k-t-1)&&(j&=t&&j&t*2)){&&&&&&&&&&
p=a[i][j];&&&&&&&&&&
a[i][j]=a[i+k][j];&&&&&&&&&&
a[i+k][j]=p;&&&&&&&&
if(j&1&&j&=t){&&&&&&&
p=a[i][j+k];&&&&&&
a[i][j+k]=a[i+k][j+k];&&&&&&&&&&
a[i+k][j+k]=p;&&&&&&&&
if(n%4==0)&{&//双偶数幻方&&&&
for(i=0;&i&n;&i++)&&&&&&
for(j=0;&j&n;&j++)&&&&&&&&
a[i][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[i][j]);&&&&&&
printf(&\n&);&&&&
int&check(int&n)&{&//检验是否是幻方&&
int&i,j,sum1=0,sum2;&&
for(i=0;&i&n;&i++){&&&&
for(j=0;&j&n;&j++)&&&&&&
sum1+=a[i][j];&&&&
if(sum1!=sum)&&&&&&
return&0;&&&&
for(i=0;&i&n;&i++){&&&&
for(j=0;&j&n;&j++)&&&&&&
sum1+=a[i][j];&&&&
if(sum1!=sum)&&&&&&
return&0;&&&&
for(sum1=0,sum2=0,i=0,j=0;&i&n;&i++,j++){&&&&
sum1+=a[i][j];&&&&
sum2+=a[i][n-j-1];&&
if(sum1!=sum)&&&&
return&0;&&
if(sum2!=sum)&&&&
return&0;&&
void&ins(int&n)&{&//单偶数幻方的输入&&
int&x,y,m;&&
for(m=1;&m&=n*n;&m++){&&&
a[x][y]=m;&&&
if(m%n!=0){&&&&
x=x+n;&&&&
y=n-y;&&&&
else{&&&&&&
x++;&&&&&&
(2)求单偶幻方
#include&iostream.h&
#include&iomanip.h&
int&main(){&&
int&n,i=0,j=0,a[100][100],tot=0;
cout&&&请输入4的倍数&&&
for(i=0;i&n;i++)&&&&
for(j=0;&j&n;&j++){&&&&&&
a[i][j]=++
for(i=0;&i&n;&i++){&&&&
for(j=0;&j&n;&j++){&&&&&
if(i%4==j%4||i%4+j%4==3)&&&&&&&
a[i][j]=n*n+1-a[i][j];
for(i=0;&i&n;&i++){&&&&
for(j=0;&j&n;&j++){&&&&&&
cout&&setw(4)&&a[i][j];
当n为时,我们称幻方为奇阶幻方。可以用Merzirac法与loubere法实现,根据我的研究,发现用国际象棋之马步也可构造出更为神奇的奇幻方,故命名为horse法。
当n为偶数时,我们称幻方为偶阶幻方。当n可以被4整除时,我们称该偶阶幻方为双偶幻方;当n不可被4整除时,我们称该偶阶幻方为单偶幻方。可用了Hire法、Strachey以及YinMagic将其实现,Strachey为单偶模型,我对双偶(4m阶)进行了重新修改,制作了另一个可行的数学模型,称之为Spring。YinMagic是我于2002年设计的模型,他可以生成任意的偶阶幻方。
在填幻方前我们做如下约定:如填定数字超出幻方格范围,则把幻方看成是可以无限伸展的图形,如下图:
Merzirac法生成奇阶幻方
在第一行居中的方格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向下移一格继续填写。如下图用Merziral法生成的5阶幻方:
loubere法生成奇阶幻方
在居中的方格向上一格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向上移二格继续填写。如下图用Louberel法生成的5阶幻方:
Hire法生成偶阶幻方
将n阶幻方看作一个矩阵,记为A,其中的第i行j列的数字记为a(i,j)。在A内两对角线上填写1、2、3、……、n,各行再填写1、2、3、……、n,使各行各列数字之和为n*(n+1)/2。填写方法为:第1行从n到1填写,从第2行到第n/2行按从1到进行填写(第2行第1列填n,第2行第n列填1),从第n/2+1到第n行按n到1进行填写,的方格内数字不变。如下所示为6阶填写方法:
1 5 4 3 2 6
6 2 3 4 5 1
1 2 3 4 5 6
6 5 3 4 2 1
6 2 4 3 5 1
1 5 4 3 2 6
如下所示为8阶填写方法(以后):
1 8 1 1 8 8 8 1
7 2 2 2 7 7 2 7
6 3 3 3 6 3 6 6
5 4 4 4 4 5 5 5
4 5 5 5 5 4 4 4
3 6 6 6 3 6 3 3
2 7 7 7 2 2 7 2
8 1 8 8 1 1 1 8
将A上所有数字分别按如下算法计算,得到B,其中b(i,j)=n×(a(i,j)-1)。则AT+B为目标幻方
(AT为A的)。如下图用Hire法生成的8阶幻方:
1 63 6 5 60 59 58 8
56 10 11 12 53 54 15 49
41 18 19 20 45 22 47 48
33 26 27 28 29 38 39 40
32 39 38 36 37 27 26 25
24 47 43 45 20 46 18 17
16 50 54 53 12 11 55 9
57 7 62 61 4 3 2 64
⑴.Strachey法生成单偶幻方
将n阶单偶幻方表示为4m+2阶幻方。将其等分为四分,成为如下图所示A、B、C、D四个2m+1阶奇数幻方。
A用1至2m+1填写成(2m+1)2阶幻方;B用(2m+1)2+1至2*(2m+1)2填写成2m+1阶幻方;C用2*(2m+1)2+1至3*(2m+1)2填写成2m+1阶幻方;D用3*(2m+1)2+1至4*(2m+1)2填写成2m+1阶幻方;在A中间一行取m个小格,其中1格为该行居中1小格,另外m-1个小格任意,其他行左侧边缘取m列,将其与D相应方格内交换;B与C接近右侧m-1列相互交换。如下图用Strachey法生成的6阶幻方:
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11
⑵Spring法生成以偶幻方
将n阶双偶幻方表示为4m阶幻方。将n阶幻方看作一个矩阵,记为A,其中的第i行j列方格内的数字记为a(i,j)。
先令a(i,j)=(i-1)*n+j,即第一行从左到可分别填写1、2、3、……、n;即第二行从左到可分别填写n+1、n+2、n+3、……、2n;…………之后进行对角交换。对角交换有两种方法:
方法一;将左上区域i+j为偶数的与幻方内以中心点为对称点的右下角对角数字进行交换;将右上区域i+j为奇数的与幻方内以中心点为对称点的左下角对角数字进行交换。(保证不同时为奇或偶即可。)
方法二;将幻方等分成m*m个4阶幻方,将各4阶幻方中对角线上的方格内数字与n阶幻方内以中心点为对称点的对角数字进行交换。
如下图用Spring法生成的4阶幻方:
YinMagic构造偶阶幻方
先构造n-2幻方,之后将其中的数字全部加上2n-2,放于n阶幻方中间,再用该方法将边缘数字填写完毕。该方法适用于n&4的所有幻方,我于日构造的数学模型。YinMagic法可生成6阶以上的偶幻方。如下图用YinMagic法生成的6阶幻方:
10 1 34 33 5 28
29 23 22 11 18 8
30 12 17 24 21 7
2 26 19 14 15 35
31 13 16 25 20 6
9 36 3 4 32 27
如将幻方看成是无限伸展的图形,则任何一个相邻的n*n方格内的数字都可以组成一个幻方。则称该幻方为魔鬼幻方。
用我研究的Horse法构造的幻方是魔鬼幻方。如下的幻方更是魔鬼幻方,因为对于任意四个在两行两列上的数字,他们的和都是34。此幻方可用YinMagic方法生成。
1居上行正中央,依次斜填右上方,上出框往下填,
右出框左边放,排重便在下格填,右上排重一个样。
幻方程序编写
利用计算机编程序,可求解出任意阶幻方.(但数字位数受电脑限制,实际上只能是有限范围内的任意阶),如利用进行计算n阶幻方,其命令为:A=magic(n)。
对于某些平方幻方,高次幻方,利用计算机辅助计算,也可快速求得。
一次幻方,一次幻立方,一次多维幻方,甚至可用简单公式全部求得。
某些类型的平方幻方,甚至高次幻方,也可用公式求得。
在幻方公式求解方法,中国处于世界领先水平.中国李文的高维高次幻方公式,是幻方理论中的精品.吴硕辛的高次幻方理论,也可用公式求解。
幻方错位补角
1.对于所有的奇阶幻方,1-n*n从小到大填入n*n的方格中。以n=5时,1-25为例。
2.横错位,将方格横向错位,每行错位数为 n-行数,即第一行横向移动n-1位,第二行横向移动n-2位...直到形成一个左低右高的楼梯。
3.横补角,以中间行为基准,将突出的数字补回本行所缺的方格内,4,5补到1的前,10补到6前,16补到20后,21,22补到25后。从而重新得到一个n*n方格。
4.竖错位,将方格纵向错位,每列错位数为 n-列数,即第一列横向移动n-1位,第二列横向移动n-2位...直到形成一个左低右高的楼梯。
5.竖补角,以中间列为基准,将突出的数字补回本列所缺的方格内,17,23补到4上,24补到5上,2补到21下,3,9补到22下。从而重新得到一个n*n方格,及得到结果。
结语:错位补角可以先横后竖,也可以先竖后横。楼梯可以左低右高,也可以左高右低。只要保证横竖做出的楼梯方向相同,就能得到正确结果。一共可以求出4个答案。
.中国知网[引用日期]
谈祥柏.趣味数学辞典:上海辞书出版社 ,1995
.C语言中文网.[引用日期]
本词条认证专家为
副教授审核
清除历史记录关闭

我要回帖

更多关于 幻方量化 的文章

 

随机推荐