首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单有损整数:缺失单个元素的级联序列

单有损整数:缺失单个元素的级联序列
EN

Code Golf用户
提问于 2016-02-18 21:25:39
回答 2查看 772关注 0票数 20

我定义了一种组合序列的方法,这意味着序列中的每一个数字都被串联成一个字符串,然后这个结果就变成了一个整数。

代码语言:javascript
运行
复制
[1, 2, 3] -> 123

对于每一个至少有3个连续整数的有限序列,在序列中缺少一个元素,而这个缺失元素可能不是序列中的第一个或最后一个元素,则输出由组合序列产生的整数。我指的是“单耗整数”。

代码语言:javascript
运行
复制
[1, 2, 3] -> {1, 3} (missing an element) -> 13

这个单有损整数序列是以下子序列(分区?)的合并:

第一个子序列{n, n+2}A032607

代码语言:javascript
运行
复制
{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个单有损整数如下:

代码语言:javascript
运行
复制
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, ...

第7597个单耗整数

Ungolfed参考实现。我使它更快,而不是更小。

规则:

  • 最短代码获胜
  • 你也可以(说是哪个):
    • 永远打印单有损整数
    • 给定正整数n,打印或返回前n个元素作为列表,或以逗号或空格分隔字符串。

  • 如果语言允许,您应该支持任意大的整数,特别是如果您要永远打印。

受[相关]启发

注意:在OEIS中还没有这个序列的条目。

另一个注意事项:我把它们命名为“单丢失整数”,这样就可以有“双丢失整数”、"N-ly Lossy整数“、"(N+1)-ly Lossy整数”和"Lossy整数“(所有这些整数的结合)。

EN

回答 2

Code Golf用户

发布于 2016-02-22 23:28:22

Mathematica,101个字节

代码语言:javascript
运行
复制
Sort@Flatten@Table[FromDigits[""<>ToString/@(z~Range~x~Delete~y)],{x,3,#},{z,1,x-1},{y,2,x-z}][[1;;#]]&

耶!这一次我有了最短的答案!Party[Hard]

票数 3
EN

Code Golf用户

发布于 2020-01-30 14:56:49

05AB1E,17字节

代码语言:javascript
运行
复制
∞ʒ.œD0Å?_*€¥1cP2å

在网上试试!

永远打印单个有损整数。

票数 0
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/73513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档