这是旧挑战的转折,以便将I / O要求调整为我们最近的标准。这样做是为了允许更多的语言参与有关此流行序列的挑战。有关重新发布的讨论,请参见此元发布。
Kolakoski序列是一个有趣的自引用序列,荣幸地成为OEIS序列A000002(比A000001更易于理解和实现)。序列以1开头,仅由1 s和2 s组成,序列元素a(n)描述序列中第n轮1 s或2 s 的长度。这唯一地定义了序列(具有下面的运行可视化):
1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1,2,1,1,2,1,2,2,1,1,2,1,1,2,...
= === === = = === = === === = === === = = === = = === === = === =
1, 2, 2, 1,1, 2, 1, 2, 2, 1, 2, 2, 1,1, 2, 1,1, 2, 2, 1, 2, 1,...
当然,您的任务是实现此序列。您可以选择以下三种格式之一:
- 输入n并输出序列的第n个项,其中n从0或1开始。
- 取的输入Ñ和输出的术语直到并包括所述Ñ个的序列,其中的术语ñ开始无论是从0或1(即,或者打印第一Ñ或第一n + 1个方面)。
- 无限期地从序列中输出值。
在第二种和第三种情况下,您可以选择任何合理,明确的列表格式。如果元素之间没有分隔符,那是很好的,因为根据定义它们始终是一位数字。
在第三种情况下,如果提交的内容是函数,则还可以使用支持它们的语言返回无限列表或生成器。
您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。请注意,默认情况下,这些漏洞是禁止的。
这是代码高尔夫球,因此以字节为单位的最短有效答案为准。