长度为n的标准标尺在位置0、1,...,n(以任何单位为单位)上具有距离标记。一个稀疏的统治者拥有这些商标的一个子集。标尺可以测量距离ķ如果它具有在位置的标记p和q与p - q = ķ。
挑战
给定正整数n,输出长度为n的稀疏标尺所需的最小标记数,以便它可以测量所有距离1,2,...,n。
这是OEIS A046693。
例如,对于输入6,输出为4。即,标尺为0、1、4、6的标尺工作为1-0 = 1、6-4 = 2、4-1 = 3、4-0 = 4、6-1 = 5和6-0 = 6。
附加规则
- 该算法应对任意大的n有效。但是,如果程序受内存,时间或数据类型的限制,则可以接受。
- 输入/输出可以通过任何合理的方式获取/产生。
- 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。
- 以字节为单位的最短代码获胜。
测试用例
1 -> 2
2 -> 3
3 -> 3
4 -> 4
5 -> 4
6 -> 4
7 -> 5
8 -> 5
9 -> 5
10 -> 6
11 -> 6
12 -> 6
13 -> 6
14 -> 7
15 -> 7
16 -> 7
17 -> 7
18 -> 8
19 -> 8
20 -> 8
21 -> 8
22 -> 8
23 -> 8
24 -> 9
25 -> 9
26 -> 9
27 -> 9
28 -> 9
29 -> 9
30 -> 10
31 -> 10
32 -> 10
相关
—
Luis Mendo