Questions tagged «combinatorics»

对于涉及组合学的挑战。

4
建立一对间谍,将石头扔进河里
最近,在新发布的Puzzling.SE中,存在一个问题,就是间谍将石头扔进河里,这实际上是一个挑战: 两名间谍必须彼此传递两个秘密数字(每个间谍一个数字),而敌人不会注意到。他们已经商定了一种预先仅使用26个无法分辨的宝石进行此操作的方法。 他们在一条河里相遇,那里有一堆26块石头。从第一个间谍开始,他们轮流向河里扔了几块石头:第一个间谍扔了一些石头,然后是第二个,然后是第一个…… 每个间谍在转身时必须至少扔一块石头,直到所有石头都消失了。 他们观察所有的投掷,当没有更多的石头时发散。他们一直保持沉默,除了每回合扔石头的数量外,没有任何信息可交换。 如果数字可以从1到M,他们如何成功交换数字? 您的任务是构建一对程序,spy1并且spy2可以最大程度地解决此问题M。 您的程序每个都将输入从中1选择的数字M作为输入。然后,spy1将输出一个数字,代表它扔进河里的石头的数量,将输入该数字,也将输出要输入的石头spy2的数量spy1,依此类推,直到输出的数字总计为26。投掷结束时,每个程序将输出它认为另一个程序具有的编号,该编号必须与实际输入到另一个程序的编号匹配。 您的程序必须适用于所有可能的有序数字对(i, j),两者i和j均可从1到变化M。 规模最大的计划M将是赢家,第一个答案将打破平局。此外,对于第一个被证明适用的解决方案,我将获得+100的声誉赏金,对于被证明适用的第一个解决方案,我将获得M >= 2286+300的声誉赏金M >= 2535。

5
硬币问题
背景 虚构的高尔夫国家的官方货币是foo,并且流通的硬币只有三种:3foos,7foos和8foos。可以看到,使用这些硬币不可能支付一定的金额,例如4 foos。然而,可以形成所有足够大的数量。您的工作是找到硬币无法形成的最大数量(在这种情况下为5个foos),这就是硬币问题。 输入项 您的输入是一个正整数列表,代表正在流通的硬币价值。对此有两点保证:L = [n1, n2, ..., nk] 的元素的GCD L为1。 L 不包含数字1。 它可能未分类和/或包含重复项(请考虑特别版硬币)。 输出量 由于GCD L为1,所以每个足够大的整数m都可以表示为其元素的非负线性组合。换句话说,我们有 m = a1*n1 + a2*n2 + ... + ak*nk 对于一些整数。您的输出是无法以这种形式表示的最大整数。提示一下,已知输出总是小于,如果和是(reference)的最大和最小元素。ai ≥ 0(n1 - 1)*(nk - 1)n1nkL 规则 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。如果您的语言对此具有内置操作,则可能无法使用。对时间或内存效率没有任何要求,只是您应该能够在发布答案之前评估测试用例。 在我发布此挑战后,用户@vihan指出Stack Overflow有一个完全相同的副本。基于此元讨论,此挑战将不会被删除。但是,我要求所有基于SO版本的答案都应引用原文,并赋予其社区Wiki状态,如果原始作者希望在此处发布其答案,则将其删除。 测试用例 [3, 7, 8] -> 5 [25, 10, 16] -> 79 [11, …

11
插座-插头兼容性
带电子设备旅行总是很有趣,尤其是当您需要适配器充电时。您面临的挑战是通过检查给定的插头是否与给定的插座兼容来使旅行计划变得更加容易。 挑战 给定插头类型和插座类型,返回一个值,该值指示它们是否可以一起工作。 相容性表 Socket Accepted plugs | Plug Accepting Sockets A A | A A, B B A, B | B B C C | C C, D, E, F, H, J, K, L, N, O D C, D, E, F | D D E C, E, F | …

19
使三角计划有效
三角性是Xcoder 先生开发的一种新的esolang ,其代码结构必须遵循非常特定的模式: 对于第nth行代码,其上必须完全2n-1有程序的字符。这将导致三角形/金字塔形,第一行仅包含一个字符,其余行以2为增量增加。 每行.的左侧和右侧都必须用s 填充,以使字符以其行为中心,并且所有行都应填充为相同的长度。如果l定义为程序中的行数,则程序中的每一行的长度必须为2 * l - 1 例如,左侧的程序有效,而右侧的程序无效: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 当布置在有效结构中时,该名称变得显而易见。 任务 您的任务是将单个行字符串作为代表Triangularity代码的输入,并将其输出转换为有效代码,如上所述。 I / O规格: 输入将仅包含范围内的字符 0x20 - 0x7e 输入的长度始终是一个平方数,因此可以很好地填充。 您必须将点用于输出填充,而不要使用其他东西。 您可以通过任何可接受的方法输入和输出。这是一个代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 input ---- output g ---- g PcSa ---- .P. …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

14
它是洗牌吗?
昨天我问这个约洗牌洗牌的问题。似乎昨天的问题有点太难了,所以这个问题是相关但容易得多的任务。 今天,您被要求确定排列是否实际上是浅滩混洗。我们对浅滩混洗的定义是根据我们上一个问题改编的: 洗牌的第一部分是鸿沟。在分隔分区中,一副纸牌一分为二。这两个小节必须是连续的,互斥的和详尽的。在现实世界中,要使您的分区尽可能地接近,但是在此挑战中,这不是要考虑的问题,所有退化的分区(一个分区为空)都是同等考虑的。 分区后,将卡拼接在一起,以使卡在它们所属的分区内保持其相对顺序。例如,如果卡片A在卡组中的卡片B之前,并且卡片A和B在同一分区中,则在最终结果中,卡片A必须在卡片B之前,即使它们之间的卡片数量增加了。如果A和B在不同的分区中,则它们在最终结果中可以采用任何顺序,而不管它们的开始顺序如何。 然后,可以将每个浅滩混洗视为原始纸牌的排列。例如排列 1,2,3 -> 1,3,2 是浅滩洗牌。如果你像这样分割甲板 1, 2 | 3 我们看到其中的每张卡1,3,2与其分区中的每张其他卡具有相同的相对顺序。 2仍在1。 另一方面,以下排列不是浅滩混洗。 1,2,3 -> 3,2,1 我们可以看到这一点,因为对于所有两个(非平凡的)分区 1, 2 | 3 1 | 2, 3 有一对卡不保持其相对顺序。在第一个分区1,并2改变他们的排序,而在第二个分区2,并3改变它们的顺序。 任务 通过任何合理的方法给定排列,确定它是否代表有效的浅滩混洗。您应该输出两个不同的常数值,一个用于“是,这是浅滩混洗”,另一个用于“不,这不是浅滩混洗”。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 1,3,2 -> True 3,2,1 -> False 3,1,2,4 -> True 2,3,4,1 -> True 4,3,2,1 -> False 1,2,3,4,5 -> …

23
数组的一次交换
灵感来自Stack Overflow上的一个问题。 挑战 给定一个整数n>1,输出可以通过恰好交换阵列中的两个条目而获得的所有阵列[1, 2, ..., n]。 阵列可以以任何顺序生产。 您可以始终使用[0, 1, ..., n-1](从0开始)代替[1, 2, ..., n](从1开始)。 附加规则 输入和输出像往常一样灵活。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 输入2给出输出(假设从1开始) 2 1 输入3给出输出(请注意,三个数组可以按任意顺序排列) 1 3 2 2 1 3 3 2 1 输入4给出输出 1 2 4 3 1 3 2 4 1 4 3 2 2 1 3 4 …

7
二元展开式的不同非空子序列数
子序列是您可以通过删除任意数量的字符从另一个序列获得的任何序列。的不同的非空的子序列100是0,1,00,10,100。的不同的非空的子序列1010是0,1,00,01,10,11,010,100,101,110,1010。 写一个程序或函数给定一个正整数Ñ返回的二进制展开的不同的非空的子序列的数目Ñ。 例子:因为4是100二进制,所以我们看到上面有五个不同的非空子序列,所以f(4) = 5。从n = 1开始,序列开始: 1, 3, 2, 5, 6, 5, 3, 7, 10, 11, 9, 8, 9, 7, 4, 9, 14, 17, 15, 16, 19, 17, 12 但是,您的程序必须在任何现代机器上都能在n <2 50秒内工作。一些大的例子: f(1099511627775) = 40 f(1099511627776) = 81 f(911188917558917) = 728765543 f(109260951837875) = 447464738 f(43765644099) = 5941674

6
Anaglot语法图
任务 用n种不同的语言编写一些可以重新排列到n个不同程序中的代码,每种输出从1到n的不同数字。 没有两种语言应该是相同的,但是只要它们具有不同的主要版本号,“相同语言”的不同版本将被视为不同的语言。对于这一挑战,REPL环境与其父语言没有区别,但仍然是一种语言。每种语言应在源代码的不同排列上运行,并在范围内输出不同的数字。 排列将以字节为单位,而不以字符为单位。 您应该包括使用测试所使用的语言运行的每个排列。 计分 您的分数将是 其中N是语言数,L是程序字节的唯一顺序数。 L不等于程序的长度 (除非程序为1或0字节) 这是计算Conor O'Brien的L的Python脚本。 当且仅当程序中没有重复的字节时,L才等于程序阶乘的长度。 目标是最大化您的分数。

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

5
项链劈开问题
背景 我受到3Blue1Brown最近关于项链劈裂问题(或他所说的是被盗的项链问题)及其与Borsuk-Ulam定理的关系的视频的启发。 在这个问题上,两个小偷偷走了一条有价值的项链,该项链由几种不同类型的珠宝组成。每种珠宝的数量都是偶数,盗贼希望在两种珠宝中平均分配每种珠宝。要注意的是,他们必须这样做,方法是将项链分成若干个连续的片段,并将片段分配在两个片段之间。 这里是表示4种宝石类型的示例S,E,D,和R(对于蓝宝石,祖母绿,金刚石和红宝石,分别地)。假设项链如下: [S,S,S,E,S,D,E,R,S,R,E,S,S,S,D,R,E,E,R,E,D,E,R,R,D,E,E,E] 有8蓝宝石,10祖母绿,4钻石和6红宝石。我们可以如下分割项链: [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] 然后,如果我们将第一,第三和第五部分分配给一个小偷,而将第二和第四部分分配给另一个小偷,则每一个都会以4蓝宝石,5祖母绿,2钻石和3红宝石: [S], [S,E,S,D,E,R,S], [R,R,D,E,E,E] [S], [R,E,S,S,S,D,R,E,E,R,E,D,E], 使用 0 -indexing,这些削减发生在index处[1,2,9,22]。 目标 事实证明,这样的公平划分总是可以使用最多 n切割,这n是珠宝类型的数量。您的任务是编写一个完整的程序或函数,该程序或函数将一条项链作为输入,并输出最小的此类分割(最少的切割次数)。 输入项 输入可以采用任何方便的格式。项链应该是一系列珠宝,仅此而已;例如整数列表,字典,字典中的键代表珠宝类型,而值代表索引列表。您可以选择包括项链的长度或不同珠宝类型的数量,但您不应输入任何其他信息。 您可以假设输入的项链有效。您无需处理给定类型的珠宝数量奇数或项链为空的情况。 输出量 同样,输出可以采用任何方便的格式。例如,片段列表,切割位置列表,带有表示两个小偷的键的字典以及片段列表的值等。片段可以通过其起始索引,结束索引,连续索引列表,珠宝列表,它们的长度等。您可以使用0-或1-索引。如果顺序对您的格式不重要,则您的输出可以按任何顺序排列。以下是上述输出的几种不同格式: list of segments: [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] list of cuts: [1,2,9,22] list of lengths: [1,1,7,13,6] dictionary: {'thief1' : [(R,R,D,E,E,E),(S),(S,E,S,D,E,R,S)], 'thief2' : [(S),(R,E,S,S,S,D,R,E,E,R,E,D,E)]} 请注意,顺序在片段列表(小偷之间的片段交替)和长度列表(以识别片段)中很重要,但在剪切片段或字典中则不重要。 编辑:格雷格·马丁(Greg Martin)指出,这些将不是有效的输出,因为可以通过两次削减获得公平的划分 测试用例 [1,2,1,2,1,3,1,3,3,2,2,3] -> [[1,2,1],[2,1,3,1],[3,3,2],[2,3]] …

11
每日随机高尔夫#3:整数分区
关于系列 首先,您可以像对待其他任何代码高尔夫挑战赛一样对待它,并回答它而不必担心系列赛。但是,在所有挑战中都有排行榜。您可以在第一篇文章中找到排行榜以及有关该系列的更多信息。 尽管我在本系列中有很多想法,但未来的挑战还没有定下来。如果您有任何建议,请在相关的沙箱帖子上让我知道。 漏洞3:整数分区 时间增加了一点难度。 甲分区正整数n被定义为正整数,其总和的多集n。例如,如果n = 5存在,则存在以下分区: {1,1,1,1,1} {2,1,1,1} {2,2,1} {3,1,1} {3,2} {4,1} {5} 请注意,这些是多集,因此它们没有顺序{3,1,1},{1,3,1}并且{1,1,3}都被认为是相同的。 给您的任务是n生成的随机分区n。以下是详细规则: 产生的隔板的分布必须均匀。也就是说,在上面的示例中,应该以1/7的概率返回每个分区。 当然,由于PRNG的技术局限性,不可能实现完美的均匀性。为了评估您提交的文件的均匀性,以下操作将被视为产生完全均匀的分布: 从PRNG(在任何范围内)获取一个数字,该数字被证明是(近似)统一的。 通过取模或乘法(或一些其他将值均匀分配的运算)将较大的一组数字的均匀分布映射到较小的一组。较大的集合必须包含至少为较小集合的1024倍的可能值。 由于分区是多集,因此您可以按任何顺序返回它们,并且此顺序不必一致。但是,出于随机分布的目的,顺序被忽略。也就是说,在上面的示例中{3,1,1},{1,3,1}和{1,1,3} 一起返回的概率必须为1/7。 您的算法必须具有确定性的运行时。特别是,您不能生成随机多集,如果它们的总和不等于,则拒绝它们n。 您算法的时间复杂度必须是中的多项式n。特别是,您不能简单地生成所有分区并选择一个随机分区(因为分区的数量与呈指数增长n)。您可能会假设您使用的PRNG可以返回每个值O(1)中的均匀分布值。 您不得使用任何内置函数来解决此任务。 您可以编写完整的程序或函数,并通过STDIN或最接近的替代方案,命令行参数或函数自变量接受输入,并通过返回值或打印到STDOUT(或最接近的替代方案)产生输出。 您可以假定n ≤ 65(这样分区的数目小于2 21)。输出可以采用任何方便,明确的列表或字符串格式。 如果您提交功能,请考虑还提供一些测试程序,该程序会多次调用该功能并打印结果。如果必须在代码中调整参数,则可以。这样做是为了使人们可以检查解决方案至少近似均匀。 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。当然,每位用户最短的提交时间也将进入该系列的整体排行榜。 排行榜 该系列的第一篇文章将产生一个排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头每个答案: # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes (目前未显示该语言,但是该代码段确实需要并对其进行解析,并且将来我可能会添加一个语言排行榜。)

2
括号中可能的数值结果数量2 ^ 2 ^…^ 2
考虑2^2^...^2带有n运算符的表达式^。运算符^表示幂运算(“幂”)。假定它没有默认的关联性,因此需要对表达式进行完全括号括起来才能明确。用加泰罗尼亚语数字 给出括号内表达式的方式C_n=(2n)!/(n+1)!/n!。 例如(2^2)^(2^2)=((2^2)^2)^2,有时不同的括号给出相同的数字结果,因此给定的不同可能数字结果的数量n少于C_n所有数字n>1。1, 1, 2, 4, 8, ...与加泰罗尼亚语数字相反,该序列开始1, 2, 5, 14, 42, ... 问题是编写最快的程序(或函数),将其接受n为输入并2^2^...^2使用n运算符返回表达式的不同可能数字结果的数量^。性能不会随着n增长而显着降低,因此直接计算高功率塔可能不是一个好主意。

9
将网格划分为三角形
目标 挑战的目标是产生一个函数,n该函数计算将n X 1网格划分为三角形的方式的数量,其中三角形的所有顶点均位于网格点上。 例 例如,有14种方法来划分2 x 1网格,因此f(2) = 14通过以下分区 ,其中分区分别具有2、2、2、2、4和2个不同的方向。 计分 这是代码高尔夫球,因此最短的代码获胜。

2
多少洗牌
浅滩混洗是一种混洗,将甲板分为两个分区,然后将这些分区拼接在一起以创建新的混洗甲板。 卡以这样的方式拼接在一起:卡在它们所属的分区中保持其相对顺序。例如,如果卡片A在卡组中的卡片B之前,并且卡片A和B在同一分区中,则在最终结果中,卡片A必须在卡片B之前,即使它们之间的卡片数量增加了。如果A和B在不同的分区中,则它们在最终结果中可以采用任何顺序,而不管它们的开始顺序如何。 然后,可以将每个浅滩混洗视为原始纸牌的排列。例如排列 1,2,3 -> 1,3,2 是浅滩洗牌。如果你像这样分割甲板 1, 2 | 3 我们看到其中的每张卡1,3,2与其分区中的每张其他卡具有相同的相对顺序。 2仍在1。 另一方面,以下排列不是浅滩混洗。 1,2,3 -> 3,2,1 我们可以看到这一点,因为对于所有两个(非平凡的)分区 1, 2 | 3 1 | 2, 3 有一对卡不保持其相对顺序。在第一个分区1,并2改变他们的排序,而在第二个分区2,并3改变它们的顺序。 但是我们确实看到3, 2, 1可以通过组合两个浅滩混洗来实现, 1, 3, 2 + 2, 3, 1 = 3, 2, 1 实际上,要证明的一个非常简单的事实是,通过结合一定数量的浅滩混洗排列,可以进行任何排列。 任务 您的任务是制作一个程序或函数,将一个排列(大小为N)作为输入,并输出最少数量的浅滩混洗排列(大小为N),可以组合形成输入排列。您无需输出浅滩混音本身,就可以输出多少。 这是代码高尔夫球,因此答案将以字节计分,而字节越少越好。 您可以输出1或0进行身份置换。 测试用例 1,3,2 -> 1 …

17
压缩最大差异2序列
输出以下长度为1160的二进制序列: -++-+--++-++-+--+--++-+--+--++-+--++-++-+-++--++-+---+-++-+--+--++++--+--++-+--++-++----++-++-+-++--++-+-+---++-+--++-++-+--++-+--+---+-++-+--++-++-+--+--++-++-+--++-+--+++-+-+----+++-+--+--+++---++-++-+--+--+++--+-+-+--+-+++-++-+--+--++-+--++-++-+--+--++--+++---+++-+---++-+--++--+-+--+-+++-+--++-++-+--++-+--+--++-+--++--+-++-+-+--+-+-++-+--++-+--+--++-+-+-++-+-+-++---+-+--++++--+---++-+-++-+--++-+--+--++-+--++++--+---+-++++--+--++-++-+--++-+--+--++-+--++-++-+--++-+--+--++-++-+----+++-+--++--+++---+-++-+--+-++---+-++-++-+--+--++--++++-+--+--+--++++--+--+++---++-++-+--++--+-+--+--++-++-+--+--+-+++-++-+--+--++--+-++-++-+--+--+--++-++-+--+++---++-+--++-++---+++---++-++----+++--+-++-+--+--++-+--++-++-+-++--++--++----+++-++--++----++-+++--++---+++----+-+-++-++-++-+-+----+++--++-+--++-++-+--+--+--++-+--++-++-+--++--+-+--+-+-+-++++---+-+-++--+--+-+-+-++-+-+++--+-+--+--+-+++--+-+++---++-+--+--++-++--++---++-+-++--++-+---+-++-+--+-++--++-+--++-+--+-+++-+--++--+-+-+++--+-+--++-++-+--+--+-++---+-++-+-++--++-+--+++-+----++--+-++-+-++--++-+--++-+-++--++-+---+-++-+--+++----+-+-++--++-+--++-++-++-+--+--+--++++---++---+-+-++-+-+++--+-++--+-+--+-+-++---+++-++ 序列 我希望这种有限序列的结构严密,希望可以采用独特的压缩方法。它源于先前挑战中的Erdős差异问题。 将术语视为+1和-1,这是差异2的最大长度序列,这意味着: 对于每个正步长d,如果您采用每个d'th项(从th项开始d),则结果序列的运行总和将保持在-2和2之间(含-2)。 如果您认为每条指令都意味着+向右迈进和-向左迈进,则这意味着每条d指令的行走距离起点都不会超过2步。 例如,对于d=3,每第3个项取一个序列+-++--+--+-...,其运行总和为[1,0,1,2,1,0,1,0,-1,0,1,...],但从未达到-3或3。 -++-+--++-++-+--+--++-+--+--++-+--+... ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ + - + + - - + - - + - 1 0 1 2 1 0 1 0 -1 0 -1 ... 该序列是在2014年通过计算机搜索发现的。参见本文,该序列复制于附录B。该搜索证明差异2序列的最大长度为1160,尽管该长度不止一个序列。于2015年证明的Erdős差异问题表示,对于任何最大差异,任何此类序列都必须具有有限的长度,c而不是2。 时间要求 您的代码应在5秒钟内完成。这是为了限制暴力破解。 输出格式 您可以使用任何两个固定的不同字符或值,+以及-任何类似列表或类似字符串的格式。格式应为可直接读取1160位值的格式,而不是例如通过二进制表示形式编码为数字或通过字符值编码为字符串。对于字符串输出,允许尾随换行符。 排行榜 显示代码段 …

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.