您的任务是实现整数序列A130826:
一个Ñ是最小的正整数,使得一个ñ - N的是整个多3和的约数的数量的两倍(一个ñ - N)/ 3给出了Ñ 个术语在由弗拉菲乌斯产生的序列的第一个差异约瑟夫斯筛。
迷路了吗?好吧,这实际上很容易。
所述flavius约瑟夫筛定义如下的整数序列。
从正整数序列开始,设置k = 2。
除去每ķ 个序列的整数,开始与ķ 个。
递增k并返回到步骤2。
f n是永不删除的第n 个整数(1索引)。
如果-像往常一样- σ 0(k)的表示整数的正除数的数ķ,我们可以定义一个Ñ为最小的正整数,使得2σ 0((一个ñ - N)/ 3)= F n + 1个 -f n。
挑战
写一个程序或函数,它接受一个正整数Ñ作为输入,并打印或返回一个ñ。
适用标准代码高尔夫球规则。愿最短的代码获胜!
工作的例子
如果我们删除正整数的第二个元素,则剩下
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 ...
除去剩余的每三个元素后,我们得到
1 3 7 9 13 15 19 21 25 27 31 33 37 39 ...
现在,删除第四个元素,然后删除第五个元素,然后删除第六个元素
1 3 7 13 15 19 25 27 31 37 39 ...
1 3 7 13 19 25 27 31 39 ...
1 3 7 13 19 27 31 39 ...
1 3 7 13 19 27 39 ...
最后一行显示项f 1至f 7。
这些术语的连续元素的区别是
2 4 6 6 8 12
将这些前向差异除以2,我们得到
1 2 3 3 4 6
这些是目标除数计数。
- 4是第一个整数ķ使得σ 0((K - 1)/ 3)= 1。事实上,σ 0(1)= 1。
- 8是第一个整数ķ使得σ 0((K - 2)/ 3)= 2。事实上,σ 0(2)= 2。
- 15是第一个整数ķ使得σ 0((K - 3)/ 3)= 3。事实上,σ 0(4)= 3。
- 16是第一个整数ķ使得σ 0((K - 4)/ 3)= 3。事实上,σ 0(4)= 3。
- 23是第一个整数ķ使得σ 0((K - 5)/ 3)= 4。事实上,σ 0(6)= 4。
- 42是第一个整数ķ使得σ 0((K - 6)/ 3)= 6。事实上,σ 0(12)= 6。
测试用例
n a(n)
1 4
2 8
3 15
4 16
5 23
6 42
7 55
8 200
9 81
10 46
11 119
12 192
13 205
14 196622
15 12303
16 88
17 449
18 558
19 127
20 1748
21 786453
22 58
23 2183
24 3096
25 1105
26 786458
27 12582939
28 568
29 2189
30 2730