本文主要是介绍偶阶幻方的算术构造,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文介绍的任意偶阶幻方的构造方法,无需考虑单偶、双偶,也不需要高等数学基础。与许多其他方法比较,或有新意。仅有初等数学基础,就可方便构造。
——求质疑!
一、构造方法
本法构造的幻方,先根据几条通项公式,求得坐标轴上的1至n²自然数列中的部分数后,再依据本法的排列规则,可简便填充该数列其余所有的数字。
先把给定数列最小和最大的8个数,建立一个4阶幻方,作为任意n阶幻方的中心。以该4阶幻方为中心,建立两条平行的横坐标轴B、C轴,再在两条对角线位置建立两条斜坐标轴A、D轴(图一,坐标上的点,用格子代替,以便填数)
通过如下坐标轴通项公式
Nₘ=2m²-J(m-1)+1
(Jb=2,Jc=3,Jd=4,m=3,4,…)
Aₘ=2m² ( m=3,4,…)
Nₘ'=H- Nₘ, Aₘ'=H- Aₘ
确定各坐标轴正方向上的数字,而所有负方向上的数字,由互补的关系求得。再参照图例所示的排列规律,依次填写,即可方便得到任意偶阶幻方。
上述各式中,Nₘ表示各个坐标轴要填的数;J称初进数,对应B、C、D轴,J分别为2、3、4; m是各坐标格子序号,因为中心4阶幻方,已经占了格子序号1、2,所以m从3始取;H叫互补数,定义H=n²+1。也就是说,任何两个数之和为H,则称这两个数互补。 可以证明,由此方法得到的偶阶幻方,每一行、每一列及两条对角线上的数字之和
∑= n(1+ n²)/2
均相等,满足幻方的要求。
特别提示:
1、Ⅰ区域Dₘ+2等数字,包含在Ⅲ区域取数范围(Dₘ﹤Nₘ﹤Bₘ-1)内。当m =5,7,9,…时,这组数字中有且仅有一个数字(加m-1时),会跟C轴同序号的数字重复。处理的原则是,不许动C轴数字,在取数范围内,把本区域的这个重复数加1或减1,而把该数前后(均可)的数减1或加1,以避免重复且保持总和不变。实际上,Ⅰ区域要填的数,用Dₘ+2和(Dₘ+2)+2,…等,只是限制了总和与个数,填什么数是不影响结果的。
2、 严格按上述原则填完Ⅰ区域后,剩余在取数范围Dₘ﹤Nₘ﹤Bₘ-1内的数字,恰能填充Ⅲ区域。可以证明,这个范围的数字个数,恰好对应所有的空格。填充Ⅲ区域时,务须注意避免重复,无需顾虑影响总和(可证)。
二、幻和的证明
本幻方的编排特点,先由通项公式求得坐标上的数字,再结合排列规律,确定一系列关键点的数字,最后利用对应格子上的数字互补的关系,求得其他空格应填的数字。
为了表述的方便,我们把所给1→n²自然数,两分其为1→n/2,(n/2)+1→n²两部分,称N≤n/2的数为小数,称N>n/2的数为大数。由于由通项公式(Nₘ=2m²-J(m-1)+1等)决定的小数,仅是坐标序号m的函数,不含有与阶数有关的n因子,所以,小数的位置不因阶数的变化而变化;大数的数值由互补关系求得,相同的大数(Nₘ'=H - Nₘ,H=n²+1),会随所取阶数的不同而出现在不同的位置。
特别值得注意的是,本幻方的两斜轴(A、D),把幻方分为四个对顶的三角形区域。互为对顶的两个区域的数字,是关于中心线互补的;四条坐标轴上的数字,是关于中心点互补的;中心4阶幻方的幻和是2 H。明确这些关系,会使证明容易得多。
下面,我们就从最难下手的最下面一行开始证明。这一
这篇关于偶阶幻方的算术构造的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!