《射雕英雄传》中有这么一段:
郭靖和黄蓉为了躲避裘千仞,闯入了瑛姑的黑龙潭。瑛姑给他们出了一道题:把1-9的数字填入一个三乘三的表格中,使得每一行、每一列、以及两条对角线上的三个数字相加的和都相同。这个问题已经困扰了瑛姑十几年了。而黄蓉很快给出了答案:二四为肩,六八为足,戴九履一,左七右三,五居中央。如下图所示。
像这种由若干数字组成的正方形表格,如果满足每一行、每一列、以及对角线上所有数字之和都相同,在数学上称为幻方,这叫做方阵或者魔方。
幻方按其行和列的数量分为N阶幻方。最简单的三阶幻方也就是上面所举的例子。我们现在看来好像很简单,但其实解幻方是一个很难的数学题。大家可以试一下解四阶幻方,也就是将1-16的数字填入一个四乘四的表格,使得每一行、每一列、两个对角线上的四个数字之和都相同。
我以前做过很多的尝试,却始终没有没有找到一个有效的方法。只能是用了几乎是穷举的方法才得到一个结果。当我正准备跟同事炫耀时,他却只用了一分钟解决。打脸来得猝不及防。
方法我会在评论中给出,大家如果有什么好的方法,欢迎分享。
,