欢迎来到天天文库
浏览记录
ID:46129847
大小:150.51 KB
页数:13页
时间:2019-11-21
《浅谈幻方以及C实现平面幻方的构造》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈幻方以及C++实现平面幻方的构造【摘要】关于幻方的研究从始至今一直没有停歇过.随着计算机的出现,幻方在图论、程序设计、实验设计、对策论、概率统计、人工智能以及工艺美术等方面得到了广泛应用。本文主要是简单的介绍幻方的定义和平面幻方的构造方法,以及通过C++实现平面幻方的构造。【关键词】幻方构造C++应用1.幻方的定义1.1幻方定义幻方也叫纵横图,是最古老和最流行的数学游戏之一。由若干个排列整齐的数组成的n阶方阵中,每行、每列及对角线之和均相等,这样的方阵就是幻方。例如九宫(表1)每行,每列及对角线之和均为12
2、,这是一个3阶幻方。通常的幻方是人们熟知的由整数1,2,3-..n2排成一个阶幻方,且每行、每列及对角线之和均为一个定数,我们把这个定数记作S,称为幻方和。幻方中所有整数和为
3、n2(n2+1),其中幻方的幻方和S二丛号也。当n二1吋我们称此幻方是平凡的,当n=2时,可以证明该种幻方是不存在的,当n=3时这样的幻方(在同构的意义下)仅有一个,n=4时,有880个,n=5时,至少有60000个幻方。438951276表13阶幻方1・2幻方的种类幻方的种类很多,女山一般幻方,对称幻方,同心幻方,完美幻方平面幻方,幻立
4、方,多维幻方,平方幻方,立方幻方,高次幻方,高次多维幻方等等。常见的幻方有:(1)完全幻方:将从1到n如的自然数排列成纵横各有n个数的方阵,使每行、每列及所有泛对角线上的n个数的和都相等,这样的方阵称为n阶完全幻方。其屮的泛对角线指的是主对角线以及与主对角线平行的一系列斜线的总称。如下图就是一个5阶完全幻方:12519137148221202216159310423171118126524表2(1)乘幻方:每行上的数的乘积、每列上的数的乘积、每条对角线上数的乘积均相等,如图表3就是一个乘幻方。225686416
5、4321128表3(2)反幻方:从1到n*n的自然数排列成纵横各有n个数的方阵,使每行、每列及对角线上的n个数的和都不相等。如图表4:123894765表4(3)质数幻方:由个质数构成的n行n列的方阵,每行、每列及对角线上的n个数的和都相等,这个方阵就是质数方阵。如图表5:37674319735233711314161291713表5(1)同心幻方:也叫嵌套幻方,其特点是由中心向外辐射。假设一个7阶同心幻方,去掉最外围的一层,会变成5阶同心幻方,再剥掉外层就变成三阶幻方。也就是说,如果有一个无数阶同心幻方,那它
6、就可以剥掉无限次(但到二阶幻方时就不能再剥了)。下图表6是一个同心幻方:49847484910381518363719123930222924201143332725231776162621283444531321413354540414232146表61・3幻方的一些性质幻方的性质很多,有共同的性质,同类型的性质、个别型的性质等,如对称性、轮换性是两类幻方的性质。一个由自然数1〜“构成的n(>=4)阶幻方有下列的性质:1.1和n行互换后,1和n列互换,仍是幻方。2.2和(ml)行互换后,2和(m2)列互换后仍
7、是幻方。3.任意阶幻方屮的每个数加(减、乘、除)一个不为零的数,仍是幻方。4."个项的等差(比)数列都可以构成n阶幻方,只要按自然数列1至n2的项号编制即可得到。5.在自然数列或等差(比)数列屮任取等距离的n段,每段n个数,这/个数可编成n阶幻方,按自然数1〜¥的顺序,n阶幻方的编制法即得。6.在自然数1〜卍构成的n(>=4)阶幻方屮,在每行、每列及对角线适当位置上各加一个常数A(A>=n2),仍是幻方。如图(表7):16161616表77.在自然数1〜r?构成的n0=4)阶幻方中,在每行、每列及对角线适当位置
8、上各加一个常数A(A>=n2),又各加另一个常数B(B>=2n2)后仍是幻方。如图(表8):1632321632161632表8&在第7个性质的基础上,再各加一个常数C(C>=3n2)后仍是幻方。如图(表9):163248483216321648481632表92•幻方的构造2.1平面幻方的构造方法计算任意阶数幻方的各行、各列、各条对角线上所有数的和的公式为:sum二门*("2+1)/2,n为阶数。对平面幻方的构造,分为三种情况:n为奇数、n为4的倍数、n为其它偶数(4n+2的形式)。1).当n为奇数时称为奇阶
9、幻方:1」)、Merzirac法生成奇阶幻方在第一行居中的方格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向下移一格继续填写。1.2)>loubere法生成奇阶幺J方在居中的方格向上一格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向上移两格继续填写1.3)>horse法生成奇阶幺J方a.对于所有的奇阶幻方,在第一行居中的方格内放1,向左走1步,下走2步以
此文档下载收益归作者所有