(4M+2)阶魔方阵算法

魔方阵是个很经典的数组排列算法,就是将nxn的自然数序列排为二维数组,其中行列斜上每个数字的和都等于同一个数,这就是魔方阵最基本的特性。

魔方阵算法分为三种情况,分别是奇数阶、4K阶(K为任意自然数)、2n阶(n为任意奇数)。

其中2n阶是最难计算的一种,今天,李木就分享一下它的算法。

举个例子,3阶魔方阵如下:

它的算法就不详细说明了,4阶魔方阵算法也是很简单的,但是遇到6阶魔方阵呢?一般的书籍中没有详细说它的解法。

解六阶魔方阵:

先让我们想一下上面的那个三阶魔方阵的图,它的组成元素是{1,2,3,4,5,6,7,8,9},我们现在可以换成{0,4,8,12,16,20,24,28,32}替换它们,也就是差为4的等差数列。

这是一个对角、行‘列和为48的方阵。

接着我们将它扩展为六阶方阵:

这是一个对角、行、列都是96的方阵。

我们再看下面这个方阵:

这是一个对角、行、列都是15的方阵。

我们将方阵2和方阵3重叠相加,便可得到我们想要的六阶魔方阵了:

它的行、列、对角和都等于111。

这里便有规律所寻了。

我们接着解十阶魔方阵:

使用方阵5代替方阵1,也是一个由差为4的等差数列排列而来。

接着使用方阵6代替方阵3:

然后方阵5和方阵6重叠相加,便可以得到行、列、对角和为505的十阶魔方阵了。

这里就可以分析出其中的规律,可以概括为以下几条:

(1)、使用{4k|k = 0, 1, · · · , n2 − 1}的等差数列, 排列出一個n阶, 且行、列、对角方向的和等于2n^3−2n的魔方阵。

(2)、将步骤一中的每一个元素,扩展为2×2维,数字相等的方阵,便可得到一个2n阶的方阵。

(3)、将步骤二中得到的方阵同时上下做对称的扩展,扩展矩阵为:

(4)、将步骤三中得到的方阵再做左右对称的扩展,其中左侧扩展为:右侧扩展为:

(5)、将步骤二中的方阵与步骤四得到的方阵重叠相加,便可得到一个2n(n为奇数)阶魔方阵了。

证明的过程就不写了,上述的步骤也写的比较简单,这个需要拿起笔纸写写画画的,仔细分析,便可得到正确的魔方阵了。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值