Recamán的序列(A005132)是一个数学序列,定义如下:
另一种更简单的口头解释如下:
除非您不能减去(数字为负数,或者以前使用过),否则应减去。
前几个术语是
现在,已经存在挑战,要求您生成n
序列的th项。这一点有些不同。
挑战
给定一个数字n
,绘制n
序列的第一项。“抽奖”是什么意思?让我示范一下:
- 画一个数字线
max([A(y) for y<=n])
单位长。我们n
现在假设是5,所以数字行长6个单位(因为,,,的最大值并且是)。从下划线开始,从0开始:
______
- 从第一项和第二项之间的过渡开始,即0和1。使用
|
和-
绘制一个向上的正方形(长度和高度相等)。在这种情况下,我们必须错过,-
因为距离只有1。
||
______
- 现在,我们在该行的底部进行下一步(到)(我们每次在上下之间交替):
||
______
| |
|-|
如您所见,这条线的高度也为2,因为该高度必须等于两个项之间的距离。
如果我们继续,我们最终将达到:
|--|
| |
|| | |
______
||| |
||| |
| |
|---|
规则
- 如果存在
-
且|
发生冲突,则后一个优先。 - 图像之前/之后可能存在前导/尾随空格,但是不允许尾随/前导
_
s或-
s(索引为0或1-除外) - 您可以选择将0点设置在
_
数字行中的第一个点之前或之后。 - 没有替代字符
-
,|
或_
可被使用。 - 这是代码高尔夫球,因此最短答案以字节为单位。
测试用例
这是另一个测试用例 n=10
|-------|
||-----||
|| ||
|----| || ||
| | || ||
||--|| || ||
|| || || ||
|||| || || ||
_____________________
||| || ||| ||
||| || ||| ||
| || ||| ||
|---|| ||| ||
| ||| ||
|---||| ||
||------||
|--------|
尚不清楚应将正方形的左边缘放置在何处。
—
Daniil Tutubalin
@DaniilTutubalin我不确定我明白你的意思。
—
Geza Kerecsenyi
基本上,语句仅指定我们需要绘制正方形(宽度=高度),并且它们应该在上下之间交替。没有关于正方形的大小和位置的说明。在测试案例中,我看到2个正方形的左边缘位置可能相同。
—
Daniil Tutubalin
我认为
—
Geza Kerecsenyi
As you can see, this line also has a height of 2, since the height must be equal to the distance between the two terms.
,以及将其You can choose to set the 0 point just before the first _ on the number line, or just after it.
包装得很好。
我认为从13-> 20开始,n = 10的测试用例是错误的。
—
尼克·肯尼迪