让我们将一个独立的数字定义为一个正整数,其数字出现的长度仅等于它们的长度。换句话说,任何十进制数字d(不包括0)仅在长度为d的游程中出现。
任务
您可以选择以下三种方法之一:
- 给定整数n,输出第n个(包含0或1索引的)自包含数字。
- 给定整数n,输出前n个自包含数字。
- 无限期打印序列。
例子
133322是一个自包含的数字,因为3出现在三个3的行中,1是单个,而2出现在两个2的行中。
另一方面,不是35553355,因为尽管5和3分别出现5次和3次,但它们不会形成相邻数字的行。
44422不是自包含的,因为4仅发生3次。
12222333也不是,因为2以四个2的顺序出现,并且不能将其视为两个2的两个单独的行程。
毫不奇怪,这是OEIS A140057,它的前几个术语是:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
您可以输入和通过任何提供输出的标准方法,在任何编程语言,但同时指出,这些漏洞被默认禁止的。这是代码高尔夫,因此以字节为单位(每种语言)的最短代码获胜。
i
变长就会掉下来?可能有必要使用str
(尽管我永远不确定这些事情)。