3
找到最短的哥伦布尺子
哥伦布尺子是非负整数的集合,因此集合中没有两对整数间隔相同。 例如,[0, 1, 4, 6]是Golomb标尺,因为此集合中两个整数之间的所有距离都是唯一的: 0, 1 -> distance 1 0, 4 -> distance 4 0, 6 -> distance 6 1, 4 -> distance 3 1, 6 -> distance 5 4, 6 -> distance 2 为了简化此挑战(并且翻译很简单),我们强加了Golomb标尺始终包含数字0(前面的示例中这样做)。 由于该集合的长度4,因此我们说这是一个有序 的Golomb标尺4。此集合(或元素,因为0总是在集合中)中的最大距离是6,因此我们说这是长度的哥伦布尺 6。 你的任务 找到哥伦布统治者为了 50给100有小(含)的长度,你可以找到。您发现的标尺不一定是最佳的(请参见下文)。 最优性 N如果没有其他N长度较小的Golomb直尺,则称Golomb直尺是最优的。 最佳Golomb直尺的订单少于28个,但随着订单的增加,找到和证明最优性变得越来越困难。 因此,不能期望您找到介于50和之间的任何订单的最佳Golomb标尺100(甚至更不可能期望您可以证明它们是最佳的)。 程序的执行没有时间限制。 基准线 下面的列表是使用天真的搜索策略评估的Golomb尺规从50到100(按顺序)的长度列表(感谢@PeterTaylor获得此列表): [4850 …