标题由“ Sequence Index Digit Not”组成。
挑战:
给定的整数n
,其是>= 0
,输出的n
“日数以下序列组成。
以下是前50个项目,其上方是(0索引)索引:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
1 0 3 2 5 4 7 6 9 8 22 20 30 24 23 26 25 28 27 32 11 33 10 14 13 16 15 18 17 31 12 29 19 21 50 40 41 42 44 45 35 36 37 51 38 39 52 53 55 56 34
这个序列如何运作?
索引处的数字n
必须是第一个,以便与,,,,,,n
和没有相同的数字。因此,当我们从0-60
以下位置查看正常序列时:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
我们这样定义n
'th值:
0
:第一个数字(0
)包含相同的数字,因此我们寻找下一个(1
),该数字不包含相同的数字。因此n=0
输出1
。1
:第一个数字(0
)不包含相同的数字,因此n=1
输出0
。2
::我们已经遇到过0
和1
,下一个数字(2
)包含相同的数字,因此我们寻找3
不包含相同数字的下一个()。因此n=2
输出3
。- ...
10
:我们已经遇到过0-9
,所以下一个是10
。10-19
包含匹配数字1
,20
包含匹配数字0
,再次21
包含匹配数字1
,22
是有效的,因此n=10
输出22
。- 等等
挑战规则:
- 如果您的语言使用1索引(或选择使用),则可以从处开始序列
3 2 5 4 7 ...
(跳过1
atn=0
和0
atn=1
)。 - 您应支持的最小最大索引为
25,000
。注意:该序列在index处停止1,023,456,788
,因为该行中的下一个index包含所有10位数字。 - 如果需要,您还可以输出/返回整个序列的数组/列表,包括索引
n
。
一般规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 - 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法和返回类型的完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能,请为您的代码添加一个带有测试的链接。
- 另外,如有必要,请添加说明。
测试用例:
该序列实际上创建了有关索引和输出的对。如果n
输出o
索引,则o
输出索引n
。因此,您可以输入左侧或右侧,而输出将是另一侧:
0 <-> 1 (this test case is optional)
2 <-> 3
10 <-> 22
12 <-> 30
34 <-> 50
89 <-> 100
111 <-> 200
112 <-> 300
199 <-> 322
2231 <-> 4456
9605 <-> 11118
19235 <-> 46000
23451 <-> 60668
25000 <-> 13674