我定义了一种组合序列的方法,这意味着序列中的每一个数字都被串联成一个字符串,然后这个结果就变成了一个整数。
[1, 2, 3] -> 123
对于每一个至少有3个连续整数的有限序列,在序列中缺少一个元素,而这个缺失元素可能不是序列中的第一个或最后一个元素,则输出由组合序列产生的整数。我指的是“单耗整数”。
[1, 2, 3] -> {1, 3} (missing an element) -> 13
这个单有损整数序列是以下子序列(分区?)的合并:
第一个子序列{n, n+2}
是A032607。
{n, n+2} -> 13, 24, 35, 46, 57, 68, 79, 810, 911, 1012, ...
{n, n+1, n+3} -> 124, 235, 346, ...
{n, n+2, n+3} -> 134, 245, 356, ...
{n, n+1, n+2, n+4} -> 1235, 2346, 3457, ...
{n, n+1, n+3, n+4} -> 1245, 2356, 3467, ...
{n, n+2, n+3, n+4} -> 1345, 2456, 3567, ...
...
for n ∈ ℕ (integers >= 1)
这些整数必须按升序打印。前25个单有损整数如下:
13, 24, 35, 46, 57, 68, 79, 124, 134, 235, 245, 346, 356, 457, 467, 568, 578, 679, 689, 810, 911, 1012, 1113, 1214, 1235, ...
Ungolfed参考实现。我使它更快,而不是更小。
注意:在OEIS中还没有这个序列的条目。
另一个注意事项:我把它们命名为“单丢失整数”,这样就可以有“双丢失整数”、"N-ly Lossy整数“、"(N+1)-ly Lossy整数”和"Lossy整数“(所有这些整数的结合)。
https://codegolf.stackexchange.com/questions/73513
复制相似问题