northwolves 发表于 2008-1-24 12:53:01

解方程

整数A-S   为1-19的某一全排列,且满足   
   
A+B+C=D+E+F+G=L+K+J+I+H=M+N+O+P=Q+R+S=38   
A+D+L=B+E+K+M=C+F+J+N+Q=G+I+O+R=H+P+S=38   
L+M+Q=D+K+N+R=A+E+J+O+S=B+F+I+P=C+G+H=38   
   
列出所有解。   

原帖见http://topic.csdn.net/t/20041227/22/3680853.html

mathe 发表于 2008-1-24 13:27:17

来源这个图形?
   ADL
   BEKM
CFJNQ
GIOR
    HPS

gxqcn 发表于 2008-1-24 15:47:14

原帖由 mathe 于 2008-1-24 13:27 发表 http://bbs.emath.ac.cn/images/common/back.gif
来源这个图形?
   ADL
   BEKM
CFJNQ
GIOR
    HPS

这不是著名的费了亚当斯52年光阴的六角幻方吗?

mathe 发表于 2008-1-24 16:05:26

原来还是挺有名的,搜索出一篇介绍它的文章:
http://blog.sina.com.cn/s/blog_4cfcf16501000cqq.html

mathe 发表于 2008-1-24 16:15:24

这个题目人工用数学方法分析太难了,但是现在用计算机搜索应该不难。可以作为编程擂台赛的候选题:lol

mathe 发表于 2008-1-24 16:46:06

我们首先可以考虑仅仅穷举EFIONK这六个数,也就是6角幻方中间一层。
最多需要枚举C(19,6)=27132.如果再考虑到轮换对称性和翻转对成性,还可以除以12,也就是最多只需要考虑2261种情况。
然后对于每种情况,余下还有13个变量。
而我们上面总共有15条方程(有两条多余),
可以直接解这个方程组就可以了。然后检查对应的解是否符合条件。
由于对应方程组左边矩阵不变,实际计算过程中还可以事先将矩阵的逆计算出来
对于每种情况只需要计算矩阵和响亮相乘就可以了。
这个计算过程应该可以非常快了,估计是毫秒级的。

northwolves 发表于 2008-1-24 16:47:14

不错,就是亚当斯六角幻方.当年我编代码穷举了6个小时才解出来12个解:

mathe 发表于 2008-1-24 16:55:08

你的程序是实时运行吗?至少现在在我的计算机上是挺快的。

282842712474 发表于 2008-1-30 11:34:35

原帖由 mathe 于 2008-1-24 16:15 发表 http://bbs.emath.ac.cn/images/common/back.gif
这个题目人工用数学方法分析太难了,但是现在用计算机搜索应该不难。可以作为编程擂台赛的候选题:lol
未必,例如幻方的填写:
幻方用计算机太难了,但是人工用数学方法分析应该不难

gxqcn 发表于 2008-1-30 12:55:28

回复 9# 的帖子

“幻方用计算机太难了”——这也只能归咎于程序开发者的算法太弱。

人工解主要是个构造过程,可以迅速局部调整从而得到单个解或部分解,但这个计算机一样可以做到;
如果是要求得到全部解,更是需要请计算机来帮忙了。
页: [1] 2
查看完整版本: 解方程