如果您不熟悉这种格式,这是一个警察和强盗,请单击标记以转到Wiki。这个问题不会有强盗的线索。
警察
作为警察的任务是从“ 整数序列在线百科”中选择两个序列,并编写一个程序以一个序列的第n个元素为输入并输出第二个序列的第n个元素。然后,您将做出包含代码的答案,并省略所选的序列。强盗将尝试找到您选择的序列,如果一个人设法找到了您要记住的序列或您的程序必须将其他序列标记为“ 破解”。如果强盗通过裂缝告知您您认为无效,则可以出示不是裂缝的证据。否则,您必须对其进行标记。
根据7天内未破解的常见答案,可以标记为安全。一名警察可能会通过揭示他们想出的顺序来将其答案标记为安全。一旦安全,答案将不再被破解。
目的是使程序的字节数最小化,同时保持其完整性。
例
以下Python代码将A000290的第n个元素(平方数)转换为A000217(三角形数):
lambda x:sum(range(0,int(x**.5+1)))
规定和要求
如果选择的序列尚未被证明是有限的,则必须输出所有可能存在的术语,而不仅仅是OEIS页面上列出的术语
作为以前的规则的例外,没有无限精度整数的语言不必输出或输入超出其范围的数字。
输入序列的大小一定不能证明小于输出序列的大小。
您的输入序列不得包含任何重复元素(否则该任务几乎是不可能的)
OEIS默认情况下在其页面上包含一个索引(“ OFFSET”标头之后的第一个数字),如果您选择另一个索引,则这是您对n的偏移量(n等于序列中第一个元素的索引)。你的答案。
如果您选择的偏移量不同于OEIS上列出的偏移量,则仍必须将输入序列中的所有元素映射到输出序列中的相应元素。
如果您的程序收到的输入不在输入序列中,则它可能会做任何希望的事情(未定义的行为)。但是,仍然输出整数可能符合您的最大利益。
故意使您的代码难以运行,这很不精打细算,无论是通过花费大量时间来执行代码还是通过非自由语言选择。虽然我将强制执行后者,但我不能客观地强制执行前者。但是,为了好玩,我恳请您不要尝试使用前者,因为对于那些计算机较弱的人来说,挑战尤其困难。
强盗
作为强盗,您的任务是选择完整,不安全的答案,并找到它们之间的对应顺序。如果找到解决方案,则可以使用有效的解决方案(不一定是警察的预期解决方案),在适当的答案上注释序列。
强盗不必担心验证两个特定的序列是否为解决方案,如果匹配OEIS上的所有条目,则应发布解决方案。如果这不是警察考虑的顺序,则警察可能会提供证明它是不正确的证据,或者如果找不到他们,则将其标记为破裂。