Questions tagged «sequence»

对于涉及某种顺序的挑战。

3
牛羚的路径
打高尔夫球的程序或功能,使角马的第nthnthn^{\text{th}}位置在无限的棋盘上从第1平方开始,该棋盘以逆时针方向的正方形螺旋编号,在该位置,角马总是访问她能到达的,编号最小的正方形。尚未访问。111 灵感:被困骑士和OEIS A316667。 编辑:此序列现在在OEIS上为A323763。 该代码可以产生第nthnthn^{\text{th}}位置,前nnn位置,或生成不带输入的序列。 可以在nnn跳跃之后(或最多)随意提供其位置,但是如果是这样,请在您的答案中清楚说明,并确保输入n=0n=0n=0产生1(或[1]适当的话)。 这是code-golf,因此目标是以您选择的语言生成尽可能少的字节的工作代码。 注:角马被截留(很像骑士确实在他的2016th2016th2016^{\text{th}}位置,方208420842084,和骆驼确实在他的3723rd3723rd3723^{\text{rd}},方708170817081)在她12899744968th12899744968th12899744968^{\text{th}}在广场的位置128518502581285185025812851850258。大于nnn可能未定义代码的行为。(感谢Deadcode提供了找到该代码的C ++代码!) 详情 该板看起来像下面,并且可以无限期地继续: 101 100 99 98 97 96 95 94 93 92 91 102 65 64 63 62 61 60 59 58 57 90 103 66 37 36 35 34 33 32 31 56 89 104 67 38 17 16 15 …

24
强盗:隐藏的OEIS子字符串
这是警察和强盗的挑战。这是强盗的线索。在警察的线程是在这里。 警察将从OEIS中选择任何序列,并编写一个程序p,该程序打印出该序列中的第一个整数。他们还将找到一些字符串s。如果将s插入p,则此程序必须打印序列中的第二个整数。如果将s + s插入p的相同位置,此程序必须打印序列中的第三个整数。s + s + s在相同位置将打印第四个,依此类推。这是一个例子: Python 3,序列A000027 print(1) 隐藏的字符串是两个字节。 字符串为+1,因为程序print(1+1)将打印A000027中的第二个整数,程序print(1+1+1)将打印第三个整数,依此类推。 警察必须揭示序列,原始程序p和隐藏字符串s的长度。强盗通过找到任何字符串裂纹提交到该长度并插入它来创建序列的位置。该字符串不需要匹配预期的解决方案即可成为有效裂纹,插入字符串的位置也不需要。 如果您破解了其中一个警察的答案,请发布解决方案(显示隐藏的字符串和位置)以及答案的链接。然后评论警察的答案,并在此处提供您的破解链接。 规则 您的解决方案必须能按顺序使用任意数量的数字,或者至少要解决由于内存限制,整数/堆栈溢出等原因导致失败的合理限制。 胜出的强盗是破解最多提交内容的用户,而决胜局是首先达到该破解数量的用户。 获胜的警察是最短的s未被破解的警察。决胜局是最短的p。如果没有完整的意见书,那么拥有解决方案的警察将获得最长的胜利。 为了声明安全,您的解决方案必须保持完整状态1周,然后显示隐藏的字符串(及其插入位置)。 s可能不是嵌套的,它必须首尾相连。例如,如果s为10,则每次迭代都会进行,10, 1010, 101010, 10101010...而不是10, 1100, 111000, 11110000... 禁止使用所有加密解决方案(例如,检查子字符串的哈希)。 如果s包含任何非ASCII字符,则还必须指定使用的编码。

18
折叠数
让我们在自然数上定义一个a函数,以10个,如下所示:ñnndķdk − 1…d1个d0dkdk−1…d1d0d_k\; d_{k-1}\; \dotsc\; d_1\; d_0 只要相邻数字相等,就用它们的总和从左到右替换它们。如果有任何这样的数字,请重复相同的步骤。d一世di − 1didi−1d_i\;d_{i-1}d一世+ di − 1di+di−1d_i+d_{i-1} 换句话说,在每次迭代中,我们贪婪地获取所有相等的相邻相邻数字对,并同时用它们的和替换它们(如果它们重叠,则使用最左边的一对)。 例 让我们以为例:99889988\texttt{9988} 相等的第一相邻数字是两个99\texttt{9} 因此,我们将其替换为,从而得到9 + 9 = 189 + 9=18\texttt{9 + 9} = \texttt{18}1888年1888\texttt{1888} 由于我们仍在第一个左右遍历中,并且仍然有两个我们需要首先替换它们88\texttt{8} 这样我们得到1816年1816\texttt{1816} 发生了一些变化,因此我们需要进行另一次迭代 但是没有这样的数字,所以我们停止 因此,该序列中的号为。9988日9988th9988^\text{th}1816年18161816 挑战 前200个术语是: 0,1,2,3,4,5,6,7,8,9,10,2,12,13,14,15,16,17,18,19,20,21,4,23,24,25,26,27,28,29,30,31,32,6,34,35,36,37,38,39,40,41,42,43,8,45,46,47,48,49,50,51,52,53,54,10,56,57,58,59,60,61,62,63,64,65,12,67,68,69,70,71,72,73,74,75,76,14,78,79,80,81,82,83,84,85,86,87,16,89,90,91,92,93,94,95,96,97,98,18,10,101,102,103,104,105,106,107,108,109,20,21,4,23,24,25,26,27,28,29,120,121,14,123,124,125,126,127,128,129,130,131,132,16,134,135,136,137,138,139,140,141,142,143,18,145,146,147,148,149,150,151,152,153,154,20,156,157,158,159,160,161,162,163,164,165,4,167,168,169,170,171,172,173,174,175,176,24,178,179,180,181,182,183,184,185,186,187,26,189,190,191,192,193,194,195,196,197,198,28 您的任务是生成该序列,或者 给定,返回该序列中的数字,ñnnñ日nthn^\text{th} 给定,返回该序列中的前数字ñnnñnn 或无限期地生成序列。 您可以选择使用或索引编制,但是请指定使用哪一个。0001个11 测试用例 您可以使用上述给定的术语,但是这里有一些较大的术语: 222 -> 42 1633 -> 4 4488 …

15
半回文之谜
回文是一个本身相反的词。 现在有些单词看起来像回文,但看起来却不然。例如,考虑单词 sheesh, sheesh不是回文,因为它的反向是hseehs不同的,但是如果我们认为sh是单个字母,那么它的反向是sheesh。我们将这种词称为半回文。 具体来说,如果我们可以将单词拆分成一定数量的块,则该单词为半回文,这样当块的顺序颠倒时,便形成了原始单词。(因为sheesh这些块是sh e e sh),我们也将不要求任何块包含两个单词的字母(否则每个单词都是半回文)。例如rear,不是半回文,因为它r ea r具有一个块(ea),其中包含来自原始单词两边的字母。我们认为奇数长度的单词的中心字符不在单词的两侧,因此对于奇数长度的单词,中心字符必须始终位于其自己的块中。 您的任务是获取正整数列表,并确定它们是否为半回文。您的代码应输出两个一致的不相等值,如果输入是半回文,则应输出一个,否则将输出另一个。但是,代码的字节序列本身必须是半回文。 答案将以字节计分,而字节数越少越好。 测试用例 [] -> True [1] -> True [2,1,2] -> True [3,4,2,2,3,4] -> True [3,5,1,3,5] -> True [1,2,3,1] -> False [1,2,3,3,4,1] -> False [11,44,1,1] -> False [1,3,2,4,1,2,3] -> False 程序生成更多的测试用例。 borrible指出,这些与广义Smarandache回文相似。因此,如果您想做进一步的阅读,那是一个开始的地方。

10
最短的唯一标识子字符串
给定一个字符串列表,请用其非空子字符串之一替换每个字符串,该子字符串不是列表中任何其他字符串的子字符串,并且应尽可能短。 例 给定list ["hello","hallo","hola"],"hello"应替换为,"e"因为该子字符串未包含在其中"hallo","hola"并且它尽可能短。"hallo"可通过任一取代"ha"或"al"并"hola"通过任何"ho","ol"或"la"。 规则 您可以假定字符串将为非空,并且仅包含大小写相同的字母字符。 您可以假定列表中的每个字符串都存在这样的子字符串,即列表中的任何字符串都不是其他任何字符串的子字符串。 输入和输出可以采用任何合理的格式。 这是code-golf,因此请尝试使用您选择的语言使用尽可能少的字节。 测试用例 在大多数情况下,仅给出一种可能的输出。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 相关:最短识别子字符串 -类似的想法,但涉及更多规则和繁琐的格式。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

11
不断增长的图
考虑固定范围内的一维数字序列,即 [1, 2, 4, 6, 8, 0, 2, 7, 3] in range [0, 10⟩ 不断增长的图形* **是一条线,该线从左到右连接此序列中的所有点,并且始终向上或保持水平。如有必要,该线从上到下环绕,并从那里继续向上到达下一个点。 这项挑战的目标是将序列分成所有不递减的不同子序列,以便与有限的垂直轴一起绘制时,它们将形成一个不断增加的图。这是通过在一个子序列的末尾和下一个子序列的末尾添加一个点来完成的,以便与顶部边界相交的线的角度与与底部边界相交的线的角度对齐,并且两个交叉点具有相同的水平坐标。上面的示例将给出以下输出: [1, 2, 4, 6, 8, 10] [-2, 0, 2, 7, 13] [-3, 3] 相应的图将如下所示: 并延伸轴以获得更好的视图: 所需的输出是构成“不断增加的图”各部分的子序列的列表。进行绘图不是必需的,但是会为您赢得积分;)。输出必须以某种方式清楚地分隔子序列。 笔记 范围的左边界(包括边界)始终为零,右边界为整数N。 该序列将永远不会包含不在范围内的值。 第一个子序列在开始时没有附加点。 最后一个子序列在末尾没有额外的点。 不需要提供绘制子序列所需的起始索引。 测试用例 Input: [0, 2, 4, 6, 1, 3, 5, 0], 7 …

19
重建算术序列
给定一个正整数的有限算术序列,其中一些项从中间删除,请重构整个序列。 任务 考虑一个算术序列:一个正整数列表,其中两个连续元素之间的差是相同的。 2 5 8 11 14 17 现在,假设受以下约束,从序列中删除一个或多个整数: 删除的整数将是该序列的连续项。 序列中的第一个和最后一个整数将不会被删除。 序列中至少保留三个整数。 对于上述顺序,可能的删除包括: 2 5 8 14 17 (removed 11) 2 5 17 (removed 8 11 14) 2 14 17 (removed 5 8 11) 您的任务:给定这些部分序列之一,重建原始的完整序列。 细节 您可能会认为输入有效(有解决方案)并且至少缺少一个术语。序列中的所有数字均为正(> 0)整数。序列在项之间可以具有正或负差(即,可以增加或减少)。它不是一个恒定的序列(例如5 5 5)。 您的解决方案可能是完整程序或功能。任何默认的输入和输出方法都是可以接受的。 您的输入和输出可以是字符串(带有任何合理的定界符),字符串列表或数字列表。您可以使用方便的语言来代表数字。 请在您的提交中提及任何异常的I / O方法/格式,以便其他人能够更轻松地测试您的代码。 测试用例 In: 2 5 …

7
伪除数和多态
任务 在这个挑战中,您的任务是用编程语言L编写一个程序,该程序采用正整数n,并输出n的适当除数之和(OEIS上的序列A001065)。它应该返回任何正确的输出1≤N≤10 000。以下是前10个输出: 0, 1, 1, 3, 1, 6, 1, 7, 4, 8 此外,您的程序必须是假的polyglot,这意味着以下内容。它是另一种编程语言的有效程序L”,并且对于每个输入1≤N≤10(测试用例以上),则返回的适当的除数的总和Ñ,但存在一些11≤Ñ000≤10为其它不会返回正确的结果。它可能会返回不正确的内容,永远循环,崩溃等。对于所有n≥11(对于其中的某些n个或仅一个),它都可能给出错误的结果。 规则和计分 您可以编写完整的程序或函数,并且可以使用两种语言使用不同的输入和输出方式。最低字节数获胜。适用标准代码高尔夫球规则。在这一挑战中,一种语言的不同主要版本或实现被认为是不同的。 请注意,如果您使用具有非ASCII编码的编程语言(如本站点上的许多语言),则两种语言都必须使用相同的字节序列。这意味着您必须在可能不同的代码页之间进行转换,或者必须对多字节Unicode字符进行惩罚。 其他测试用例 20 -> 22 36 -> 55 180 -> 366 997 -> 1 2875 -> 869 10000 -> 14211

12
Divinacci序列
Divinacci(OEIS) 执行斐波那契数列,但不要使用: f(n) = f(n-1)+f(n-2) 使用: f(n) = sum(divisors(f(n-1))) + sum(divisors(f(n-2))) 对于输入n,输出第n个项,您的程序应该只有1个输入。 前14个字词(0索引,您可以1索引;使用的状态): 0 | 0 # Initial | [] 1 | 1 # Initial | [1] => 1 2 | 1 # [] + [1] | [1] => 1 3 | 2 # [1] + [1] | [1,2] => …

7
最短加法链
加法链是从1开始的整数序列,其中除初始1之外的每个整数都是两个先前整数的总和。 例如,这是一个附加链: [1, 2, 3, 4, 7, 8, 16, 32, 39, 71] 这是使它成为加法链的总和: 1 + 1 = 2 1 + 2 = 3 1 + 3 = 4 3 + 4 = 7 1 + 7 = 8 8 + 8 = 16 16 + 16 = 32 7 + …

17
它与数字模式匹配吗?
最近,我进行了一次数学测试,并注意到测试中的某个数字与一个有趣的模式匹配。数字(28384)与看起来像这样的通用数字序列匹配 (n)(x)(n+1)(x)(n+2)(x)(n+3) etc... 其中n和x是一位数字整数。该序列可与开始x或n并用端任一x或n+y。 给定一个多位数的正整数,您的任务将根据输入是否匹配模式输出真值或假值。输入的长度在4到18位之间。您可以将输入作为整数的字符串表示形式。输入将不会以0开头,而可以包含或以0结尾。 n+y 将始终是一个数字(因此长度限制为18)。 测试用例 这些应该输出真实值 182838485868788898 4344 85868 12223242526 这些应该是假的 12345 6724013635 36842478324836 1222232425 5859510511 与所有代码高尔夫球一样,最短的代码获胜!祝您好运,万事如意!

30
龙曲线序列
所述龙曲线序列(或常规纸张折叠序列)是一个二进制序列。 a(n)通过对的最低有效1的左位求反得到n。例如要进行计算,a(2136)我们首先将其转换为二进制: 100001011000 我们发现我们的最低有效位 100001011000 ^ 左移一点 100001011000 ^ 并返回其否定 0 任务 给定一个正整数作为输入,输出a(n)。(您可以按整数或布尔值输出)。您应该努力使代码尽可能地小(以字节为单位)。 测试用例 这是顺序的前100个条目 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 1 1 0 …

10
自然日志上的蚂蚁
这是一个很好的初学者挑战,也是一个很好的时间杀手。 我只说了-自然-对数,因为标题太短了,这与对数无关。 给定2个变量: 蚂蚁数量n。 日志的宽度w。 输出日志宽度w与n蚁(实施例示出w=3,n=6) | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | …

1
找到斐波那契内核
您可能听说过斐波那契数;他们很有名。斐波那契数列中的每个数字都是序列中最后两个数之和,第一个和第二个数字是1。该序列如下所示: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 2971215073 4807526976 7778742049 …

12
我的Diffy游戏退化了吗?
最近,我发布了一个有关Diffy游戏的问题,但尚未得到解答。很好,这个问题确实很困难,但是我想对Diffy游戏提出一个更简单的问题,以便我们能够解决问题。 Diffy如何运作 复制自Find Diffy Games Diffy游戏的工作方式如下:从一个非负整数列表开始,在本示例中,我们将使用 3 4 5 8 然后取相邻数字之间的绝对差 (8) 3 4 5 8 5 1 1 3 然后重复。重复直到您意识到自己已经进入循环。通常,游戏会从头开始。 3 4 5 8 5 1 1 3 2 4 0 2 0 2 4 2 2 2 2 2 0 0 0 0 0 0 0 0 大多数游戏都以全零的字符串结尾,这被认为是失败状态,但是很少有游戏陷入较大的循环。 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.