数学研发论坛

 找回密码
 欢迎注册
楼主: markfang2050

[原创] 六边形上19个黑点上不同数字求所有的解!

[复制链接]
发表于 2019-5-11 19:29:22 | 显示全部楼层
中心为4的已经找到人肉解
c4.png
A=2的根据王守恩有 V组只有三解。容易验证这三组各可导致一个唯一解。

A=2时,V=32=1+3+4+5+7+12, R=19+17+16+15+13+8, E=6+9+10+11+14+18,其中
          6+4+12, 9+1+12, 10+5+7,11+7+4,14+7+1或14+5+3,18+1+3。由于7只能使用两次,淘汰方案14+7+1,得到合法解
          4+6+12,12+9+1,1+18+3,3+14+5,5+10+7,7+11+4.
c21.png
A=2时,V=32=1+3+4+5+8+11, R=19+17+16+15+12+9, E=6+7+10+13+14+18,其中
        6+11+5, 7+11+4, 10+8+4或10+11+1,13+8+1或13+5+4, 14+5+3, 18+3+1
       其中确定的方案6+11+5,7+11+4,18+3+1 已经使用了两个11,所以淘汰10+11+1,也就是还要使用10+8+4,所以4也使用了两次,淘汰13+5+4, 只能是13+8+1
也就是确定方案6+11+5, 7+11+4, 10+8+4, 13+8+1, 14+5+3, 18+3+1, 这又是一个合法的解。
c22.png
A=2时,V=32=1+3+4+7+8+9, R=19+17=16+13+12+11, E=5+6+10+14+15+18,
      其中5+8+9, 6+7+9, 10+9+3或10+8+4,14+7+1,15+4+3,18+3+1,其中10+9+3由于9已经被使用两次淘汰,所以得到解
      5+8+9,6+7+9,10+8+4,14+7+1,15+4+3,18+3+1
c23.png

所以所有解是四组。

点评

图怎么画出来的呢?  发表于 7 天前
漂亮  发表于 2019-5-12 09:01

评分

参与人数 2威望 +18 金币 +18 贡献 +18 经验 +18 鲜花 +18 收起 理由
王守恩 + 10 + 10 + 10 + 10 + 10 正确!
northwolves + 8 + 8 + 8 + 8 + 8

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-11 22:24:42 | 显示全部楼层
如果每个小三角形的每边上的三个数加起来都是S,当S=23,24,25,...呢?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-11 23:54:41 | 显示全部楼层
本帖最后由 zeroieme 于 2019-5-12 09:23 编辑

S=22

{{{{2,19,1},{2,17,3},{1,18,3}},{{2,17,3},{2,15,5},{3,14,5}},{{2,15,5},{2,9,11},{5,6,11}},{{2,9,11},{2,16,4},{11,7,4}},{{2,16,4},{2,12,8},{4,10,8}},{{2,12,8},{2,19,1},{8,13,1}}},{{{2,19,1},{2,17,3},{1,18,3}},{{2,17,3},{2,15,5},{3,14,5}},{{2,15,5},{2,13,7},{5,10,7}},{{2,13,7},{2,16,4},{7,11,4}},{{2,16,4},{2,8,12},{4,6,12}},{{2,8,12},{2,19,1},{12,9,1}}},{{{2,19,1},{2,17,3},{1,18,3}},{{2,17,3},{2,16,4},{3,15,4}},{{2,16,4},{2,12,8},{4,10,8}},{{2,12,8},{2,11,9},{8,5,9}},{{2,11,9},{2,13,7},{9,6,7}},{{2,13,7},{2,19,1},{7,14,1}}},{{{4,17,1},{4,16,2},{1,19,2}},{{4,16,2},{4,12,6},{2,14,6}},{{4,12,6},{4,13,5},{6,11,5}},{{4,13,5},{4,8,10},{5,7,10}},{{4,8,10},{4,15,3},{10,9,3}},{{4,15,3},{4,17,1},{3,18,1}}}}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-11 23:57:12 | 显示全部楼层
本帖最后由 zeroieme 于 2019-5-12 09:27 编辑
northwolves 发表于 2019-5-11 22:24
如果每个小三角形的每边上的三个数加起来都是S,当S=23,24,25,...呢?


S=23
{{{{6,16,1},{6,14,3},{1,19,3}},{{6,14,3},{6,9,8},{3,12,8}},{{6,9,8},{6,7,10},{8,5,10}},{{6,7,10},{6,15,2},{10,11,2}},{{6,15,2},{6,13,4},{2,17,4}},{{6,13,4},{6,16,1},{4,18,1}}}}


毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-12 06:58:20 | 显示全部楼层
本帖最后由 zeroieme 于 2019-5-12 09:34 编辑

所有等和六边形,分文件保存

  1. 19//Range//Subsets[#,{3}]&//(*先组边,按和分类*)GatherBy[#,Total]&//Parallelize[(Subsets[#,{3}]//Select[#,(*再组三角形*)({#//Flatten//Union//Length[#]==6&,Subsets[#,{2}]//Intersection@@#&/@#&//{Length[#]==1&/@#,#//Flatten//Union//Length[#]==3&}&}//Flatten//And@@#&)&]&//Subsets[#,{3}]&//Select[#,(*只有一个公共点的三角形组*)(Union@@#&/@#//Subsets[#,{2}]&//Intersection@@#&/@#&//#[[1]]==#[[2]]==#[[3]]\[And]Length[#[[1]]]==1&)\[And]((#//Flatten//Tally//Select[#,#[[2]]==2&][[All,1]]&)&/@#//Intersection@@#&//Length[#]==1&)\[And](#//Flatten//Union//Length[#]==16&)&]&//(#~Function[{Triangles,\[Alpha]Point},(*公共数字置前*)(Append[Select[#,MemberQ[#,\[Alpha]Point]&]//Prepend[Complement[#,{\[Alpha]Point}],\[Alpha]Point]&/@#&,Select[#,Not[MemberQ[#,\[Alpha]Point]]&]//First]//Function[{a,b,c},Append[({#\[Intersection]c,#//Reverse}//Flatten//DeleteDuplicates//Reverse)&/@{a,b},{a\[Intersection]c,Complement[c,a,b],b\[Intersection]c}//Flatten]]@@#&)&/@Triangles]~(Flatten/@#//Intersection@@#&//First))&/@#&//GatherBy[#,(*按公共数字分类*)#[[1,1,1]]&]&//(Subsets[#,{2}]//Select[#,(*三角形组配对成六边形*)(#[[1]]\[Intersection]#[[2]]=={})\[And](#//Flatten//Union//Length[#]==19&)\[And](#[[All,All,1;;2]]//Flatten[#,2]&//Union//Length[#]==6&)&]&)&/@#&//Join@@#&//Quiet[Check[(Join@@#//{{#[[1]]},#[[2;;-1]]}&//Nest[Function[{\[Alpha],\[Beta]},Select[\[Beta],MemberQ[#,\[Alpha][[-1,2]]]&]//First//{Append[\[Alpha],Prepend[#,\[Alpha][[-1,2]]]//DeleteDuplicates],Complement[\[Beta],{#}]}&]@@#&,#,5]&//First),{}]]&/@#&//Complement[#,{{}}]&//GatherBy[#,(#[[All,1;;2]]//Union@@#&)&]&//(#[[1]]//Function[{a,b,c},Append[({#\[Intersection]c,#//Reverse}//Flatten//DeleteDuplicates//Reverse)&/@{a,b},{a\[Intersection]c,Complement[c,a,b],b\[Intersection]c}//Flatten]]@@#&/@#&)&/@#&(*输出格式:每组数据为六个三角形组成的六边形,每个三角形前两条为中心公共边,第三条三角形边为六边形的边*)//If[#!={},(#//ToString[#,InputForm]&//StringReplace[#,{" "->"","\n"->""}]&//StringReplace[#,{"}}},{{{"->"}}},\n{{{"}]&)~Function[{s1,s2},OpenWrite[s2]//Function[{s3},WriteString[s3,s1];Close[s3]];s2]~("Hexagons-S="<>ToString[Total[#[[1,1,1]]]]<>".txt")]&)&/@#,Method->"FinestGrained"]&//DeleteCases[#,Null]&
复制代码


点评

具体地诠释了什么叫做垃圾代码!  发表于 7 天前
postfix的编码风格,不错~  发表于 2019-5-12 09:00

评分

参与人数 1威望 +8 金币 +8 贡献 +8 经验 +8 鲜花 +8 收起 理由
northwolves + 8 + 8 + 8 + 8 + 8 不明觉厉!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-12 08:39:04 | 显示全部楼层
zeroieme 发表于 2019-5-12 08:14
加个字符图输出函数


$8+5+4<>22$

中间的数字只能是偶数
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-12 09:22:19 | 显示全部楼层
northwolves 发表于 2019-5-12 08:39
$8+5+422$

中间的数字只能是偶数

把{a,b,c}和{a,c,b}混淆了,要大修改
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-12 09:47:43 | 显示全部楼层
  1. {{{2, 19, 1}, {2, 17, 3}, {1, 18, 3}}, {{2, 17, 3}, {2, 15, 5}, {3,
  2.     14, 5}}, {{2, 15, 5}, {2, 9, 11}, {5, 6, 11}}, {{2, 9, 11}, {2,
  3.     16, 4}, {11, 7, 4}}, {{2, 16, 4}, {2, 12, 8}, {4, 10, 8}}, {{2,
  4.     12, 8}, {2, 19, 1}, {8, 13,
  5.     1}}} // (Map[If[# < 10, " ", ""] <> ToString[#] &, #, {-1}] //
  6.     StringReplace[
  7.       "  #1━#2━#3\n / \  / \\n #4  #5 #6 #7\n/   \ /  \\n\
  8. #8━#9━#a━#b━#c\n\  /  \  /\n #d #e  #f #g\n \ /  \ /\n  #h━#i━#j\n", \
  9. {"#a" -> #[[1, 1, 1]], "#b" -> #[[1, 1, 2]], "#c" -> #[[1, 1, 3]],
  10.        "#7" -> #[[1, 3, 2]], "#6" -> #[[2, 1, 2]],
  11.        "#3" -> #[[2, 1, 3]], "#2" -> #[[2, 3, 2]],
  12.        "#5" -> #[[3, 1, 2]], "#1" -> #[[3, 1, 3]],
  13.        "#4" -> #[[3, 3, 2]], "#9" -> #[[4, 1, 2]],
  14.        "#8" -> #[[4, 1, 3]], "#d" -> #[[4, 3, 2]],
  15.        "#e" -> #[[5, 1, 2]], "#h" -> #[[5, 1, 3]],
  16.        "#i" -> #[[5, 3, 2]], "#f" -> #[[6, 1, 2]],
  17.        "#j" -> #[[6, 1, 3]], "#g" -> #[[6, 3, 2]]}] &) &
复制代码


   5━14━ 3
 / \  / \
  6  15 17 18
/   \ /  \
11━ 9━ 2━19━ 1
\  /  \  /
  7 16  12 13
 \ /  \ /
   4━10━ 8
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-12 11:00:38 | 显示全部楼层
sum=[22-29,31-38]有解

1-19.zip

69.78 KB, 下载次数: 6, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-5-12 14:19:48 | 显示全部楼层
受到mathe的手工求解的启发。我也写了一个程序, 耗时的地方主要是整数的拆分

  1. Flatten[Table[Select[Flatten[Table[Table[Table[{tmp={s[[1]],k,S-2MovingAverage[PadRight[k,7,First[k]],2],S-s[[1]]-k};{S,s[[1]],k},Union[Flatten[tmp]]},{k,Flatten[Table[Join[c,cc],{c,Flatten[List[First[t],#]]&/@Subsets[Rest[t],{2}]},{cc,Permutations[Complement[t,c]]}],1]}],{t,s[[2]]}],{s,Table[{2i,Select[IntegerPartitions[6S-Binomial[20,2]/2-5i,{6}],Length[Union[#]]==6 &&Not@MemberQ[#,2i]&&Max[#]<20&]},{i,(6S-Binomial[20,2]/2-Binomial[7,2])/5}]}],2],Length[Last[#]]==19&&Min[Last[#]]==1&][[All,1]],{S,22,31}],1]
复制代码

  1. {22,4}
  2. {23,2}
  3. {24,6}
  4. {25,8}
  5. {26,3}
  6. {27,7}
  7. {28,1}
  8. {29,4}
  9. {30,0}
  10. {31,4}
  11. {32,3}
  12. {33,8}
  13. {34,3}
  14. {35,6}
  15. {36,4}
  16. {37,1}
  17. {38,6}
复制代码


数据结构是中心数A,六个顶点的数【按照逆(顺)时针排列】。
为了消除旋转对称性,约定六个顶点中最大的数字是1号位。为了消除纸内纸外的翻转对称性,约定2号位比3号位要大。计算结果如下:

  1. {22,2,{11,5,3,1,8,4}}
  2. {22,2,{9,8,4,3,1,7}}
  3. {22,2,{9,7,1,3,4,8}}
  4. {22,4,{10,3,1,2,6,5}}
  5. {23,6,{10,8,4,2,3,1}}
  6. {23,6,{10,8,3,1,4,2}}
  7. {24,2,{15,8,4,9,5,3}}
  8. {24,4,{12,11,6,5,3,2}}
  9. {24,4,{12,11,3,2,6,5}}
  10. {24,6,{13,3,2,4,11,1}}
  11. {24,8,{12,5,1,6,2,3}}
  12. {24,8,{12,3,2,6,1,5}}
  13. {25,2,{16,8,4,11,5,6}}
  14. {25,2,{16,6,5,11,4,8}}
  15. {25,4,{16,8,3,10,6,2}}
  16. {25,4,{14,10,6,2,5,8}}
  17. {25,4,{14,8,5,2,6,10}}
  18. {25,8,{14,7,5,1,6,2}}
  19. {25,8,{12,10,1,6,2,4}}
  20. {25,8,{12,4,2,6,1,10}}
  21. {26,4,{16,8,3,5,10,9}}
  22. {26,8,{14,11,6,3,5,2}}
  23. {26,8,{14,11,5,2,6,3}}
  24. {27,2,{17,7,6,10,13,9}}
  25. {27,6,{19,7,4,10,9,3}}
  26. {27,6,{19,5,4,8,9,7}}
  27. {27,8,{18,6,2,9,7,5}}
  28. {27,8,{17,9,7,5,3,6}}
  29. {27,8,{17,6,3,5,7,9}}
  30. {27,8,{15,9,2,6,14,1}}
  31. {28,4,{16,11,5,6,15,10}}
  32. {29,4,{18,10,6,11,16,8}}
  33. {29,10,{18,7,3,11,13,2}}
  34. {29,12,{16,11,3,7,4,8}}
  35. {29,12,{16,8,4,7,3,11}}
  36. {31,8,{17,9,4,12,16,13}}
  37. {31,10,{19,8,6,14,16,3}}
  38. {31,16,{14,10,2,12,4,9}}
  39. {31,16,{14,9,4,12,2,10}}
  40. {32,16,{15,14,10,5,9,4}}
  41. {32,16,{15,14,5,10,4,9}}
  42. {32,16,{15,9,4,10,5,14}}
  43. {33,12,{18,14,2,15,13,11}}
  44. {33,12,{17,15,13,11,3,14}}
  45. {33,12,{17,14,3,11,13,15}}
  46. {33,14,{17,11,10,16,13,1}}
  47. {33,14,{16,15,1,13,11,12}}
  48. {33,14,{16,12,11,13,1,15}}
  49. {33,18,{14,13,3,11,7,10}}
  50. {33,18,{14,10,7,11,3,13}}
  51. {34,12,{18,15,9,6,17,14}}
  52. {34,16,{17,15,10,11,4,12}}
  53. {34,16,{17,12,4,11,10,15}}
  54. {35,12,{19,10,8,16,18,14}}
  55. {35,12,{19,15,13,6,18,14}}
  56. {35,16,{18,14,10,17,12,4}}
  57. {35,16,{18,15,12,6,10,14}}
  58. {35,16,{18,14,10,6,12,15}}
  59. {35,18,{16,12,4,14,15,9}}
  60. {36,12,{19,15,8,17,18,14}}
  61. {36,16,{18,17,15,14,9,8}}
  62. {36,16,{18,17,9,8,15,14}}
  63. {36,18,{17,15,11,16,12,5}}
  64. {37,14,{19,17,12,10,18,16}}
  65. {38,16,{19,18,14,15,10,17}}
  66. {38,16,{19,17,10,15,14,18}}
  67. {38,18,{19,17,15,13,16,8}}
  68. {38,18,{19,17,15,9,16,12}}
  69. {38,18,{19,17,16,12,11,13}}
  70. {38,18,{19,13,11,12,16,17}}
复制代码

点评

是有问题的,见后面的帖子  发表于 2019-5-12 20:34
代码漂亮,请审查是否有误  发表于 2019-5-12 19:34
那个是程序直接输出的,方便后续的过滤。已经采纳你的建议,手工删除  发表于 2019-5-12 14:52

评分

参与人数 1威望 +2 金币 +2 贡献 +2 经验 +2 鲜花 +2 收起 理由
王守恩 + 2 + 2 + 2 + 2 + 2 一目了然!!!(建议:后面12个是画蛇添足.

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2019-5-20 15:04 , Processed in 0.058622 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表