- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于构造任意奇数阶幻方新方法
关于构造任意奇数阶幻方新方法
摘要: 关键词: 中图分类号: 文献标志码: A文章编号: 2095-2163
Abstract: Magic square originated thousands of years ago in China,which is one of the research objects of combinatorial designs. In a square matrix,if the sums of every row,every column and two diagonals are equal, this square matrix is called magic square. Currently, the achievements in the research of magic square have been widely used in image encryption,image scrambling,etc. This paper introduces a new continuous numbering method to structure arbitrary odd order magic square,which is more flexible than traditional construction methods.The new method can not only increase the forms of odd order magic square, but also parallelly structure magic square and reduce the time of structuring it.
0引言
幻方具有非常悠久的历史,虽然古老但却是最流行的数字游戏之一。一个n阶幻方的构造方法是将整数1、2、3、…、n2共n2个连续自然数,填入到n × n的方阵中,使得每行、每列以及每条对角线上的数字之和都等于同一个常数。幻方是组合设计的重要研究对象之一[1]。
《易经》中记载的洛书是世界上最早的幻方,之后幻方逐渐传入世界各地,引起了广泛关注,并在许多方面取得了研究成果。幻方可应用于哲理思想的研究、美术设计、智力开发、科学技术等方面[2]。尤其是在科学技术中,随着计算机的快速发展,幻方在信息隐藏[3]、数字图像[4]、认证与加密[5-6]、量子信息[7]等方面应用前景十分广阔。
1使用改进的连续摆数法构造奇数阶幻方
1.1连续摆数法
连续摆数法是较为古老的幻方构造方法,适用于奇数阶幻方的构造,一般把数字1放在幻方中第一行最中间的方格中,然后从这里开始,按对角线方向(比如说按从左下到右上的方向)把其余各数按从小到大的顺序依次放入其它格子中,如果到达顶部,则转向底部;如果到达右侧,则转向左侧;如果需要放入的格子中已经有数存在或者到达了右上角,则需要退至前一格的下方[1]。
按照上述法则建立的5阶幻方如图1所示。
这个方法可以推广到一般情况,即起始数1不一定要放在第一行的中间,而下一个数字也不一定要放在上一个数的右上方格中,为此本文提出了改进的连续摆数法来构造奇数阶幻方。
1.2改进的连续摆数法
1.2.1算法设计步骤
改进的连续摆数法构造n阶幻方的步骤如下:
步骤1以奇数阶幻方中心位置为坐标原点,建立坐标系;
步骤2将幻方中任意一格的位置用坐标来表示,坐标范围从(-n-12,-n-12)到(n-12, n-12);
步骤3定义“起始向量”,表示1的位置;
步骤4定义“偏移向量”,表示一个数的位置到下一个数位置所指的方向,依次按顺序填写其它数字;
步骤5当遇到要填入的格子中已经被其它数字占据,用“中断向量”重新计算该数字的坐标并填入计算后的空格;
步骤6重复步骤4和步骤5,直到所有数字均填入方格中。
1.2.2算法设计过程
这里,下面将详述给出改进连续摆数法构造5阶幻方的过程。先以5阶幻方中心位置为坐标原点,建立坐标系,每一点的坐标如图2所示。
接着确定1的位置,连续摆数法是基于对称性的方法,即以5阶幻方为例,1~25的中间数字是13,所以假设要让13固定在幻方的中心点,那么1就只能选择除中心点外的其它位置。为此,研究定义一个起始向量(x0,y0),表示1的起始位置,x0、y0满足条件(x0,y0) ≠ (0,0)。
确定好1的位置后,还需要定义一个偏移向量(u,v),表示一个数的位置到下一个数位置所指的方向。当然,偏移向量的选择在理论上可以是任意的,但是却需要满足如下条件:
首先,u和v都不能等于0,否则
文档评论(0)