项目欧拉 - 68

时间:2012-10-24 15:15:15

标签: algorithm language-agnostic

我已经阅读了What is an "external node" of a "magic" 3-gon ring?并且我已经解决了问题,直到90年,但是这个n-gon的事情完全令我困惑,因为我根本不理解这个问题。

所以我拿这个戒指,我明白外圈是4,5,6,因为它们在内圈之外。现在他说有八个解决方案。下面列出的八种解决方案没有太多解释。我来看看

9   4,2,3; 5,3,1; 6,1,2
9   4,3,2; 6,2,1; 5,1,3

那么我们如何得出2个解决方案呢?据我所知,4,3,2是直线,6,2,1是直线,5,1,3是直线,它们是顺时针方向,所以第二种解决方案是有道理的。

问题

  1. 为什么第一个解决方案4,2,3; 5,3,1; 6,1,2反时钟明智吗?它不应该是423 612然后是531吗?
  2. 我们如何达到8个解决方案。它只是随机挑选三个数字吗?解决“N-gon”究竟是什么意思?

1 个答案:

答案 0 :(得分:3)

第一个不逆时针方向。这是你从配置中得到的东西

        4
         \
          2
         / \
        1---3---5
       /
      6

顺时针方向,从外圈中的最小数字开始。

  

我们如何得出8种解决方案。它只是随机挑选三个数字吗?解决“N-gon”究竟是什么意思?

对于一个N-gon,你有一个内部N-gon,并且对于N-gon一个尖刺的每一侧,如

        X
        |
X---X---X
    |   |
    X---X---X
    |
    X

使尖钉与内部N-gon的侧面连接起来,连接一组三个位置。 N-gon的“解决方案”是一种配置,您可以将数字从1到2 * N放置,以便N组中的每一组总和为相同的值。

尖峰末端的位置每个只出现一个组,内部N-gon的顶点上的位置为两个。所以所有组的总和是

 N
 ∑ k +  ∑{ numbers on vertices }
k=1

内部N-gon顶点上的数字总和至少为1 + 2 + ... + N = N*(N+1)/2,最多为(N+1) + (N+2) + ... + 2*N = N² + N*(N+1)/2 = N*(3*N+1)/2

因此,所有组的总和之和在

之间
N*(2*N+1) + N*(N+1)/2 = N*(5*N+3)/2

N*(2*N+1) + N*(3*N+1)/2 = N*(7*N+3)/2

包含,每组的总和必须介于

之间
(5*N+3)/2

(7*N+3)/2
  • 再次包容。

对于三角形 - N = 3 - 边界为(5*3+3)/2 = 9(7*3+3)/2 = 12。对于正方形 - N = 4 - 边界为(5*4+3)/2 = 11.5(7*4+3)/2 = 15.5 - 因为总和必须是整数,可能的总和为12, 13, 14, 15

回到三角形,如果每个组的总和为9,则总和的总和为27,顶点上的数字之和必须为27 - (1+2+3+4+5+6) = 27 - 21 = 6 = 1+2+3,因此顶点上的数字为1,2和3。

对于总和为9,连接端1和2的尖峰末端的值必须为6,对于连接1和3的端,尖峰值必须为5,并且连接侧为4 2和3。

如果从尖峰上的最小值开始 - 4 - 您知道必须将2和3放在尖峰突出的边的顶点上。有两种方法可以在那里排列两个数字,从而得出总和9的两个解。

如果每组的总和为10,则总和的总和为30,顶点上的数字之和必须为9.要将9表示为1到6的三个不同数字的总和,可能性

1 + 2 + 6
1 + 3 + 5
2 + 3 + 4

对于第一组,你有一侧连接1和2,所以你需要一个7在尖峰的末端做10 - 没有解决方案。

对于第三组,两个数字的最小总和是5,但是5+6 = 11 > 10,所以6没有位置 - 没有解决方案。

对于第二组,双方的总和是

1 + 3 = 4  -- 6 on the spike
1 + 5 = 6  -- 4 on the spike
3 + 5 = 8  -- 2 on the spike

并且您有两种方法可以安排3和5,因此该群组可以是2-3-52-5-3,其余的又是。

总和11和12的解可以类似地获得,或者通过在和9的解的解中用k替换7-k。 10。

要解决问题,您现在必须找出

  • 获取16位数字符串或17位数字符串意味着什么
  • 当数字以规定的方式连接时,这些组的总和会产生最大值。

(并使用铅笔和纸来获得最快的解决方案。)