介绍
切换顺序的定义如下:
首先,n
人们围成一圈站着(6
在本例中)。
1 2
6 3
5 4
从人员开始1
,将删除“选定”人员左侧的人员。
1
6 3
5 4
被删除的人可以“切换”删除方法:
- 如果被删除的人是偶数(在这种情况下就是这种情况),那么下一个被删除的人将在下一个“被选中”人的右边。
- 如果被删除的人是奇数,则下一个被删除的人将在下一个“已选择”人的左侧。
下一个选择的人也取决于先前删除的人。
- 如果被删除的人是偶数,则下一个选择的人将在前一个选择的人的右边。
- 如果被撤消的人是奇数,请参见上文,但将“正确”替换为“左侧”。
因此,下一个选择的人是6
。
现在我们删除的人的权利6
,这就是5
:
1
6 3
4
因为5
是奇数,所以被移走的人现在在左边。新选择的人是1
。
现在,我们删除3
:
1
6
4
我们继续此过程,直到剩下1个数字-在此示例中,最终数字为1
。因此S(6) = 1
。
前几个数字是:
n | S(n)
---------
1 | 1
2 | 1
3 | 3
4 | 1
5 | 5
6 | 1
7 | 3
8 | 6
9 | 5
10 | 6
11 | 9
任务
您的任务是制作一个程序(或函数),该程序在给定的情况下使用最少的字节数返回S(n)
(n
切换序列中的th个数字)n
。
输入和输出示例:
1 -> 1
10 -> 6
13 -> 13
您一定会得到一个正整数。
这是代码高尔夫球,因此以字节为单位的最短代码胜出!
注意:没有OEIS序列(什么?),以免您查找麻烦。
7
没有oeis上的命中,以节省人们的搜索。
—
xnor
显然
—
乔纳森·艾伦
2
永远不会消失,但是7
呢?
@JonathanAllan我刚刚检查了前1000个字词,结果目前为“否”。不过,我不确定-我应该将其视为人们可以尝试证明的“附带挑战”之类的东西吗?这是布朗尼积分,因此不会减损挑战。
—
clismique
也许一旦有人想出了一种其他方法,而不是按照您的指示进行操作,这将很明显……
—
Jonathan Allan
您如何期望人们在没有OEIS的情况下解决此问题?有人推OEIS,好吗?
—
暴民埃里克(Erik the Outgolfer)