首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cops:隐藏的OEIS子字符串

Cops:隐藏的OEIS子字符串
EN

Code Golf用户
提问于 2019-07-10 13:58:33
回答 22查看 4K关注 0票数 41

这是警察和强盗的挑战。这是警察的线索。强盗的线在这里

作为一个cop,您必须从OEIS中选择任何序列,并编写程序p从该序列中打印出第一个整数。你还必须找到一些字符串s。如果你在某个地方插入S到p中,这个程序必须从序列中打印第二个整数。如果您在p中的相同位置插入S+S,则此程序必须从序列中打印第三个整数。S+S+勾勒在同一个位置上会印第四,以此类推。下面是一个例子:

Python3,序列A000027打印(1)隐藏的字符串是两个字节。

字符串是+1,因为程序print(1+1)将在A000027中打印第二个整数,程序print(1+1+1)将打印第三个整数,等等。

警察必须公开序列、原程序p和隐藏字符串s的长度。盗贼通过找到任何长度的字符串以及插入该序列的位置来破解提交。字符串不需要与预期的解决方案匹配才能成为有效的漏洞,也不需要将其插入的位置匹配。

规则

  • 您的解决方案必须适用于序列中的任何数字,或者至少在内存限制、整数/堆栈溢出等方面失败的合理限制之前。
  • 获胜的抢劫犯是破解最多投稿的用户,打成平局的人是先达到这个数目的人。
  • 获胜的警察是字符串最短的没有破解的警察S。打破平局是最短的p。如果没有未提交的投稿,有一个解决方案的警察谁得到了最长的胜利。
  • 要被宣布为安全,您的解决方案必须保持一个星期未打开,然后有隐藏的字符串(以及插入它的位置)。
  • S不一定是嵌套的,它必须端到端连接。例如,如果S是10,那么每一次迭代都会变成10, 1010, 101010, 10101010...而不是10, 1100, 111000, 11110000...
  • 从序列的第二项开始,而不是从第一项开始是可以接受的。
  • 如果您的序列有有限的项,超过最后一项将导致未定义的行为。
  • 所有密码解决方案(例如,检查子字符串的哈希)都被禁止。
  • 如果S包含任何非ASCII字符,则还必须指定正在使用的编码。
EN

回答 22

Code Golf用户

发布于 2019-07-10 16:55:45

马蒂尔,序列A005206.裂开 ( SamYonnou

)

代码语言:javascript
复制
voOdoO

在网上试试!

隐藏字符串有8个字节。

票数 21
EN

Code Golf用户

发布于 2019-07-11 03:09:15

Python 2,sequence A138147 (裂开)

代码语言:javascript
复制
print 10

在网上试试!

隐藏的字符串为7个字节。顺序是:

代码语言:javascript
复制
10, 1100, 111000, 11110000, 1111100000, ...
票数 9
EN

Code Golf用户

发布于 2019-07-11 02:06:44

皮瑞特,sequence A083420裂开

代码语言:javascript
复制
fold({(b,e):(2 * b) + 1},1,[list: ])

隐藏字符串有4个字节或更少。

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

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

复制
相关文章

相似问题

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