




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津工业大学中文题目: 对幻方的浅显认识 英文题目: Superficial understanding of the magic square 学 号: 1231138049 姓 名: 孟帮杰 年 级: 2012级 专 业: 计算机技术 指导教师: 张大坤 完成日期: 2012年10月 摘 要多少世纪来人们对幻方总是怀着浓厚的兴趣。从古代起幻方就跟某些超自然和魔术的领域相联系。在古代亚洲的城市,人们在考古挖掘中发现了它们。有关幻方的最早记录,是约于公元前2200年在中国出现的“洛书”。传说这个幻方最初是大禹在黄河岸边的一只神龟的背上看到的。幻方,有时又称魔方(该称呼现一般指立方体的魔术方块)或纵横图,由一组排放在正方形中的整数组成,其每行、每列以及两条对角线上的数之和均相等。幻方起源于我国,并由我国传到全世界,在这漫长的历史中,幻方也得到了广泛的发展和进步。我们从多个角度去探寻幻方的历史,发展和在现实生活中的应用,以此来一部加深对幻方的理解。关键词:幻方历史 幻方 应用 目 录第一章 引言1第二章 幻方的历史和发展2第三章 幻方法则的研究3幻方法则33.1奇数阶幻方(罗伯法)33.2双偶数阶幻方(对称交换法)33.3单偶数阶幻方(象限对称交换法)4第四章 同阶幻方结构的讨论7同阶幻方结构74.1三阶幻方74.2 四阶幻方74.3五阶幻方8第五章 幻方法则的程序9程序如下9第六章 幻方的应用176.1幻方在数学和智力开发中的应用176.2幻方在科学技术中的应用176.3幻方在艺术中的应用17第七章 结语18参考文献19第一章 引言我国的纵横图通过东南亚国家,印度、阿拉伯传到西方。由于纵横图具有十分奇幻的特性,西方把纵横图叫作Magic Square,翻译成中文就是“幻方”或“魔方”。 在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵行及对角线的几个数之和都相等,具有这种性质的图表,称为“幻方”。幻方问题是具有悠久历史的复杂排列组合问题。幻方问题的复杂性不仅在于解的多样性随阶数指数递增,而且在于解在可行排列空间中所占的比例随阶数指数递减。此外,在文章最后,简单介绍了幻方在数学和智力开发,科学以及艺术中的应用。我们从多个角度去探寻幻方的历史,发展和在现实生活中的应用,以此来一部加深对幻方的理解。第二章 幻方的历史和发展关于幻方的起源,我国有“河图”和“洛书”之说。相传在远古时期,伏羲氏取得天下,把国家治理得井井有条,感动了上天,于是黄河中跃出一匹龙马,背上驮着一张图,作为礼物献给他,这就是“河图”,也是最早的幻方。伏羲氏凭借着“河图”而演绎出了八卦,后来大禹治洪水时,洛水中浮出一只大乌龟,它的背上有图有字,人们称之为“洛书”。大约在8世纪,中国的幻方记述传人阿拉伯地区。该地区的人们对幻方产生了极大兴趣,并做出重要贡献。塔比伊本库拉较早研究了幻方。约990年,一批阿拉伯学者编的本百科全书中可找到3,4,5,6阶幻方,并说明7,8,9阶幻方的存在。幻方1315年前后传人西方后,最初被赋予一种神秘性或作为护身符,成为神秘哲学的一部分,或是在一些场合中作为有趣的数学游戏。但当时并未引起人们的深思和研究。在中国,宋朝杨辉的续古摘奇算法辑录了更高阶的幻方(至10阶),他最早从数学角度研究了洛书的构造法以及其他6种变形幻方。它们同样具有某些组合性质。扬辉还构造出由9个洛书勾成的大幻方,如果洛书中的第I列第J行数记为In。杨辉之后易东、程大位、王文素,清朝方中逦、张潮、保其寿对幻方及变形幻方有深入的研究。形式也趋于多样化。除了这些以外,历史上最早的四阶幻方是在印度发现的,那是一个完全幻方,而且比中国的杨辉还要早了两百多年,印度人认为那是天神的手笔。直到中世纪后欧洲的一些数学著作中才开始出现讨论幻方及其改造的内容,如卡尔丹诺给出了分别以日、月和五星为名的幻方及构造法。7世纪日本对幻方也产生很浓的兴趣一主要是关孝和对幻方和幻圆理论的研究。现在的幻方种类很多,如一般幻方,对称幻方,同心幻方,完美幻方。平面幻方(二维),幻立方(三维),多维幻方。平方幻方,立方幻方,高次幻方,高次多维幻方。魔鬼幻方,马步幻方,多重幻方,六角幻方,双料幻方,幻环,幻圆等等。特殊的幻方有反幻方,完美反幻方。第三章 幻方法则的研究幻方法则3.1奇数阶幻方(罗伯法)奇数阶幻方最经典的填法是罗伯法。填写的方法是:把1(或最小的数)放在第一行正中; 按以下规律排列剩下的(nn1)个数:1、每一个数放在前一个数的右上一格;2、如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;3、如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;4、如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内;5、如果这个数所要放的格已经有数填入,那么就把它放在前一个数的下一行同一列的格内。例,用该填法获得的5阶幻方:172418152357141646132022101219213111825293.2双偶数阶幻方(对称交换法) 所谓双偶阶幻方就是当n可以被4整除时的偶阶幻方,即4K阶幻方。在说解法之前我们先说明一个“互补数”定义:就是在 n 阶幻方中,如果两个数的和等于幻方中最大的数与 1 的和(即 nn1),我们称它们为一对互补数 。如在三阶幻方中,每一对和为 10 的数,是一对互补数 ;在四阶幻方中,每一对和为 17 的数,是一对互补数 。双偶数阶幻方的对称交换解法:先看看4阶幻方的填法:将数字从左到右、从上到下按顺序填写:12345678910111213141516 内外四个角对角上互补的数相易,(方阵分为两个正方形,外大内小,然后把大正方形的四个对角上的数字对换,小正方形四个对角上的数字对换)即(1,16)(4,13)互换(6,11)(7,10)互换即可。16231351110897612414151 对于n=4k阶幻方,我们先把数字按顺序填写。写好后,按44把它划分成kk个方阵。因为n是4的倍数,一定能用44的小方阵分割。然后把每个小方阵的对角线,象制作4阶幻方的方法一样,对角线上的数字换成互补的数字,就构成幻方。以8阶幻方为例:(1) 先把数字按顺序填。然后,按44把它分割成4块(如图)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364(2) 每个小方阵对角线上的数字(如左上角小方阵部分),换成和它互补的数。642361606757955541213515016174746202143422440262737363031333234352928383925412322444519184849151452531110568585954626313.3单偶数阶幻方(象限对称交换法)以n=10为例,10422,这时k=2(1)把方阵分为A,B,C,D四个象限,这样每一个象限肯定是奇数阶。用罗伯法,依次在A象限,D象限,B象限,C象限按奇数阶幻方的填法填数。(2)在A象限的中间行、中间格开始,按自左向右的方向,标出k格。A象限的其它行则标出最左边的k格。将这些格,和C象限相对位置上的数,互换位置。(3)在B象限任一行的中间格,自右向左,标出k-1列。(注:6阶幻方由于k-1=0,所以不用再作B、D象限的数据交换), 将B象限标出的这些数,和D象限相对位置上的数进行交换,就形成幻方。第四章 同阶幻方结构的讨论同阶幻方结构4.1三阶幻方3阶幻方仅有一种。当然,按照对称可得出8种表现:4.2 四阶幻方4阶完美幻方有48种。当然,按照对称和旋转可得出880种表现。4.3五阶幻方5阶完美幻方有144种。第五章 幻方法则的程序程序如下#includestdio.h#includemath.hint a256256;int n;int sum;int check();void OddMagicSquare(int n);/奇数幻方void SEvenMagicSquare(int n);/单偶数幻方void DEvenMagicSquare(int n);/双偶数幻方void main()int i,j;printf(请输入幻方的阶数:);scanf(%d,&n);sum=(n*n+1)*n/2;/幻方的和 /奇数幻方if(n%2=1)OddMagicSquare(n);/单偶数幻方if(n%4=2)SEvenMagicSquare(n);/双偶数幻方if(n%4=0)DEvenMagicSquare(n);/检验并输出if(check(n)=1)printf(这个 %d 阶幻方如下:n,n);for(i=0;in;i+)for(j=0;jn;j+)printf(%5d,aij);printf(n);elseprintf(这个算法是错误的!);/检验是否是幻方int check(int n)int i,j,sum1=0,sum2;/检查行for(i=0;in;i+)for(j=0;jn;j+)sum1+=aij;if(sum1!=sum) return 0;/每一行的和等于幻方和(n*n+1)*n/2 sum1=0;/检查列for(i=0;in;i+)for(j=0;jn;j+)sum1+=aji;if(sum1!=sum) return 0;/每一列的和等于幻方和(n*n+1)*n/2 sum1=0;/检查对角线for(sum1=0,sum2=0,i=0,j=0;in;i+,j+)sum1+=aij;sum2+=ain-j-1;if(sum1!=sum) return 0;if(sum2!=sum) return 0;/每一条对角线的和等于幻方和(n*n+1)*n/2 else return 1; /奇数幻方的输入/*规则:n 为奇数时奇数阶幻方最经典的填法是罗伯法。填写的方法是:把1(或最小的数)放在第一行正中; 按以下规律排列剩下的(nn1)个数: 1、每一个数放在前一个数的右上一格; 2、如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列; 3、如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行; 4、如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内; 5、如果这个数所要放的格已经有数填入,那么就把它放在前一个数的下一行同一列的格内。*/void OddMagicSquare(int n) int x,y,m;x=0;y=n/2;/y的值是n只取商 for(m=1;m=n*n;m+)/对幻方进行排列从1到n*n axy=m;if (m%n!=0)/判断m是否是n的整数倍 x-;y+;if(x0) x=x+n;/这个数所要放的格已经超出了顶行,则把它放在底行 if(y=n) y=n-y;/这个数所要放的格已经超出了最右列,则把它放在第一列/若出现以下两种情况即 /这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内;/这个数所要放的格已经有数填入,那么就把它放在前一个数的下一行同一列的格内。/则进行下面的运算 elsex+;if(x=n) x=x-n;/*双偶数幻方采用对称元素交换法。首先,把数1到nn按从上至下,从左到右顺序填入矩阵;然后,将方阵的所有44子方阵中的两对角线上位置的数关于方阵中心作对称交换,即a(i,j)与a(n-1-i,n-1-j)交换,所有其它位置上的数不变。(或者将对角线不变,其它位置对称交换也可)*/void DEvenMagicSquare(int n)int m=1;int i,j,k;/从上至下,从左到右顺序填入矩阵for(i=0;in;i+)for(j=0;jn;j+)aji=m+;for(i=0;in;i+)for(j=0;jn;j+)if(i%4=0 & abs(i-j)%4=0)for(k=0;k4;k+)ai+kj+k=n*n-ai+kj+k+1;/对角线上的数字换成互补的数字else if(i%4=3&(i+j)%4=3)for(k=0;k4;k+)ai-kj+k=n*n-ai-kj+k+1;/对角线上的数字换成互补的数字/*单偶数幻方以n=10为例,10422,这时k=2(1)把方阵分为A,B,C,D四个象限,这样每一个象限肯定是奇数阶。用罗伯法,依次在A象限,D象限,B象限,C象限按奇数阶幻方的填法填数。(2)在A象限的中间行、中间格开始,按自左向右的方向,标出k格。A象限的其它行则标出最左边的k格。将这些格,和C象限相对位置上的数,互换位置。(3)在B象限任一行的中间格,自右向左,标出k-1列。(注:6阶幻方由于k-1=0,所以不用再作B、D象限的数据交换), 将B象限标出的这些数,和D象限相对位置上的数进行交换,就形成幻方。*/void SEvenMagicSquare(n)int k=n/2;int i,j,t,p;OddMagicSquare(k);/*把方阵分为A,B,C,D四个象限,这样每一个象限肯定是奇数阶。用罗伯法,依次在A象限,D象限,B象限,C象限按奇数阶幻方的填法填数。*/for(i=0;ik;i+)for(j=0;jk;j+)aij+k=aij+2*k*k;ai+kj=aij+3*k*k;ai+kj+k=aij+k*k;t=(n-2)/4;for(i=0;ik;i+)for(j=0;jk;j+)/*在A象限的中间行、中间格开始,按自左向右的方向,标出k格。A象限的其它行则标出最左边的k格。将这些格,和C象限相对位置上的数,互换位置。*/if(jt)&(it)p=aij;aij=ai+kj;ai+kj=p;if(jk-t-1)p=aij;aij=ai+kj;ai+kj=p;if(i=t&i=t&j1&j=t)p=aij+k;aij+k=ai+kj+k;ai+kj+k=p;第六章 幻方的应用6.1幻方在数学和智力开发中的应用幻方由于其独特的性质在很多时候可以巧妙的解决一些数学智力问题。如用“三阶幻方”巧填“爱因斯坦填数题”, 用“三阶幻方”艇决“取牌游戏问题”, 用“四阶幻方”巧填“玛摩西约利斯米难题。同时由于幻方简单,饿哦那故意入门,所以很容易英气青少年的注意。我国从古代到现代都将幻方原理此应用于各种智力产品的开发。如古代的九宫格,以及现在的华容道和推箱子等各种游戏。6.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内经考试题及答案
- 汽修考试题及答案
- 中级财务会计(上)知到智慧树答案
- 工务维修考核试卷及答案
- 药品检查员能力提升培训班结业考试试题(附答案)
- 幼儿园教师业务考试试题及答案
- 内科考试题含答案
- 酒水饮料理论知识考核试题题库及答案
- 加氢工艺考试模拟卷及答案
- 国家基本药物培训试题及答案
- 2025年教科版新教材科学三年级上册全册教案设计(含教学计划)
- 医院药品采购与质量控制规范
- 枣庄学院《图学基础与计算机绘图》2024-2025学年第一学期期末试卷
- 2025版仓储库房租赁合同范本(含合同生效条件)
- GB 46031-2025可燃粉尘工艺系统防爆技术规范
- 2025至2030年中国纳米抛光浆料行业发展监测及发展趋势预测报告
- 养老护理员培训班课件
- 2025-2030城市矿产开发利用政策支持与商业模式创新报告
- 隔爆水棚替换自动隔爆装置方案及安全技术措施
- 近十年中职试卷及答案
- 股票k线图入门图解
评论
0/150
提交评论