四阶幻方全生成问题
用最快速的方法生成全部880个四阶幻方, 速度要求10秒以内最好能达到1秒 四阶幻方定义是什么?16个数填入4*4方阵,行,列,对角线和都相同?对称的是否认为不同?
不过这个问题好像复杂度不会太高,1秒的要求感觉太容易了些 那就1秒做100次 :)
1秒系估计时间, 曾经在386上做过,
时间多少忘记了, 合在P4 2.0正好1秒
正规1-16数字填充
以1在左上角, 第一行第二列, 和第二行第二列三个位置为标准
实际的数字小于880:)
同构问题
幻方有个同构问题,但定义并不统一。一般认为两个幻方可通过有限次的简单几何变换:旋转、对称变换,可以互化的话,即认为它们是同构的。
每个平面幻方有8种同构形式(包括其本身),所以全部的四阶幻方应有 880*8 = 7040 种。 倒
不是的啊
同构的总共880个
但固定1的位置, 就少了啊 原帖由 无心人 于 2008-3-7 10:43 发表 http://bbs.emath.ac.cn/images/common/back.gif
倒
不是的啊
同构的总共880个
但固定1的位置, 就少了啊
[*]四阶幻方包括同构情形确实有 880*8 = 7040 种
[*]元素“1”固定位置无法表达全部情形,因为有些幻方无法通过同构变换使“1”占据某个特定点(如左上角) 我说的是三个点 四阶幻方
中心四个数字和也是34
对角的四个2X2格, 以中心为对称, 两两和相等 你说的是四阶幻方的一个子集:全对称幻方(或称为纯幻方),
它的所有泛对角线上的数也为定值。
这类幻方虽然很美妙,但也是非常好构造的。
共有 4!xx2xx9xx8 = 3456 组(含所有同构情形,不含则为其 1//8 组) 首先找到所有四个数字和是34的组合
不多
然后按行填充两行该组合
并置对应数字为已使用标志
尝试填充列1, 2
补齐
循环
页:
[1]
2