Questions tagged «subsequence»

与更大序列中的序列有关的挑战

8
索引Cha-Cha幻灯片
介绍: 虽然我本来是脑中有一首荷兰歌,但歌词是:“ Doe'n stapje naar voren,en'n stapje terug ”(译为“ 向前走一点,向后走一点 ”),当我搜索了完整的歌词,我意识到它们只是来回晃来晃去,从不侧身。 因此,我现在改用C幻灯片先生(又名DJ Casper-Cha-Cha Slide)的歌词来应对这一挑战。 如果我们忽略所有其他内容,仅查看包括上述金额在内的单词“ left”,“ right”,“ back”和“ hop”(我将“ hop”算作正向),则整首歌曲将具有以下列表(我在这里使用缩写LRBH): LBHRLLBHRLBHHRRLLLRLBHHHHRRLLLBHHHHHRLRLRLHRLLBHHLRLBHH 这是可隐藏的JavaScript代码段中的完整歌曲歌词(以节省空间),其中的移动和金额都用方括号括起来: 显示代码段 To the [left], take it [back] now y'all One [hop] this time, [right] foot let's stomp [Left] foot let's stomp, cha cha real smooth Turn it out, …

2
解释基普尔!
介绍 Kipple是Rune Berg于2003年3月发明的基于堆栈的深奥编程语言。 Kipple有27个堆栈,4个运算符和一个控制结构。 堆栈 堆栈被命名为a- z并包含32位带符号整数。还有一个特殊的堆栈,@使输出数字更加方便。当将数字压入时@,实际上将压入该数字的ASCII值。(例如,如果您将12推到@,它将推49,然后推50。@) i在执行程序之前,将输入压入输入堆栈。解释器将i在执行之前要求存储值。执行完成后,输出堆栈上的所有内容o都会弹出以ASCII字符形式输出。由于这是Kipple唯一的IO机制,因此无法与Kipple程序进行交互。 经营者 操作数可以是堆栈标识符或带符号的32位整数。 推送:>或< 语法:Operand>StackIndentifier或StackIndentifier<Operand Push运算符将操作数向左移并将其推入指定的堆栈。例如,12>a将值12推入stack a。a>b将从堆栈中弹出最高值a并将其推入堆栈b。弹出空堆栈总是返回0 a<b相当于b>a。a<b>c从弹出最高值,b并同时推入c和a。 加: + 句法: StackIndentifier+Operand Add运算符将堆栈上最顶层项目和操作数之和压入堆栈。如果操作数是堆栈,则从中弹出值。例如,如果堆栈的最高值为a1,a+2则将3压入堆栈。如果a为空,a+2则将2推入。如果堆叠的最值a和b是1和2,然后a+b将从栈中弹出的值2 b和3推入堆栈a。 减去: - 句法: StackIndentifier-Operand 减法运算符的工作方式与加法运算符完全相同,只是它减去而不是加法。 明确: ? 句法: StackIndentifier? 如果最上面的项目为0,则Clear运算符将清空堆栈。 解释器将忽略操作符旁边不存在的所有内容,因此以下程序将起作用:a+2 this will be ignored c<i。但是,添加注释的正确方法是使用#字符。#执行前,a 和行尾字符之间的所有内容都将被删除。ASCII字符#10在Kipple中定义为行尾。 操作数可以由两个运算符共享,例如a>b c>b c?可以写为a>b<c?。 该程序1>a<2 a+a将导致a包含值[1 4](从下到上),而不是[1 3]。对于-操作员也是如此。 控制结构 Kipple中只有一种控制结构:循环。 句法: (StackIndentifier code …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

1
通过整数操作实现IEEE 754 64位二进制浮点数
(我暂时将问题标记为“ C”,但是如果您知道另一种支持联合的语言,则也可以使用它。) 您的任务是+ - * /为以下结构构建四个标准数学运算符: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } 这样操作本身就只能操纵或访问整数部分(因此也不能在操作过程中的任何时候都与double进行比较),并且结果是完全相同的(对于非数字结果,例如,功能上是等效的NaN)好像相应的数学运算已直接应用于double。 您可以选择要操作的整数部分,甚至可以在不同的运算符之间使用不同的整数部分。(尽管我不确定您是否要这样做,您也可以选择从联合中的任何字段中删除“未签名”。) 您的分数是四个运算符中每个字符的代码长度总和。最低分获胜。 对于不熟悉IEEE 754规范的我们来说,这是一篇有关Wikipedia的文章。 编辑: 03-06 08:47在intfloat结构中添加了构造函数。您可以使用它们进行测试,而不必手动设置double /etc。

3
滑动资本
背景 想象一下用大写字母连续写成的英语字母- ABCDEFGHIJKLMNOPQRSTUVWXYZ。假设我们有一个特殊的可变宽度镜头,这样当放置在行上时,它会显示字母的某个“窗口”,而镜头外的字母则不可见。此外,此镜片具有翘曲特性,因此镜片内的第一个字母以及此后的每个第二个字母均小写,但其余字母仍显示为大写。 例如,我们可以在字母表的中间位置放置长度为5的镜头,我们将只能看到. jKlMn(在这里引期,以确保空白所示) -注意K,并M仍在资本,同时j,l和n都较低装箱。当我们沿着字母从左到右滑动此镜头时,将显示不同的字母,并且不同的字母大写。此处的任务是在镜头沿字母滑动时输出结果字母。 挑战 编写一个程序或函数,该程序或函数采用输入整数0 < n < 27并输出或返回在上述镜头在字母表上滑动时可见的字符串。 对于n大于的值1,镜头从“悬挂”在字母的左侧开始,因此A在镜头的最右侧插槽中仅显示。因此A,根据镜头的长度,任何输出的第一行将是单个大写或小写字母。 同样,当透镜位于透镜Z最左侧的插槽中时,透镜结束滑动(这意味着任何输出的最后一行始终为25个空格,后接小写字母z)。 例子 输入: 1 输出: a b c d e f g h i j k l m n o p q r s t u v w x y z 输入: 4 输出: A aB AbC …

2
最快的最长公共子序列查找器
你的任务是解决最长公共子序列的ň长度为1000的字符串。 给LCS问题的一个有效的解决方案为两个或多个字符串小号1,内容S Ñ是任意字符串Ť使得字符最大长度的Ť出现在所有s ^ 我,以相同的顺序在Ť。 注意,T不必是S i的子字符串。 我们已经用最短的代码解决了这个问题。这次,大小无关紧要。 例 字符串axbycz和 xaybzc具有8个常见的长度为3的子序列: abc abz ayc ayz xbc xbz xyc xyz 这些中的任何一个都是解决LCS问题的有效解决方案。 细节 如上所述,编写一个完整的程序来解决LCS问题,并遵守以下规则: 输入将由两个或多个长度为1000的字符串组成,这些字符串由代码点在0x30和0x3F之间的ASCII字符组成。 您必须从STDIN读取输入。 输入格式有两种选择: 每个字符串(包括最后一个字符串)后跟一个换行符。 字符串被链接在一起,没有分隔符,也没有尾随换行符。 字符串数将作为命令行参数传递给您的程序。 您必须将输出(即,对LCS的任何有效解决方案之一)写入STDOUT,然后再写入一个换行符。 您选择的语言必须具有针对我的操作系统(Fedora 21)的免费(例如在啤酒中)编译器/解释器。 如果您需要任何编译器标志或特定的解释器,请在您的文章中提及。 计分 我将使用2、3等字符串运行您的代码,直到花费超过120秒才能打印出有效的解决方案。这意味着每个n值都有120秒。 您的代码及时完成的​​最大字符串量就是您的得分。 如果得分为n,则在最短时间内解决n个字符串问题的提交将被宣布为获胜者。 所有提交都将在我的计算机上计时(Intel Core i7-3770、16 GiB RAM,无交换)。 第(n-1)个测试的n个字符串将通过调用(并在需要时剥离换行符)生成,其定义如下:rand nrand rand() { head -c$[500*$1] /dev/zero | openssl …

5
最短最长公共子序列码
解决SLCSC问题的任务是,找到可能的最短代码以解决最长公共子序列问题。 给LCS问题的一个有效的解决方案为两个或多个字符串小号1,内容S Ñ是任意字符串Ť使得字符最大长度的Ť出现在所有s ^ 我,以相同的顺序在Ť。 注意,T不必是S i的子字符串。 例 字符串axbycz和 xaybzc具有8个常见的长度为3的子序列: abc abz ayc ayz xbc xbz xyc xyz 这些中的任何一个都是解决LCS问题的有效解决方案。 细节 如上所述,编写程序或函数以解决LCS问题,并遵守以下规则: 输入将包含两个或更多个仅包含小写字母的字符串。 您可以将这些字符串读取为字符串数组,也可以将单个字符串与您选择的分隔符一起读取。 您的代码必须输出该问题的任何一种可能的解决方案,可以选择后跟换行符或用引号引起来。 您可以假设字符串少于1000个字符,并且最多有20个字符串。 在这些限制内,您的代码应能在理论上按预期工作(给定无限的时间和内存)。 您的代码必须在我的机器(Intel Core i7-3770,16 GiB RAM)上不到一个小时的时间内完成下一部分的组合测试用例。 仅对所有可能的子序列进行迭代的方法将不符合时间限制。 LongestCommonSequence不允许使用琐碎此任务的内置程序,例如。 适用标准代码高尔夫球规则。 测试用例 a ab 输出: a aaaaxbbbb bbbbxcccc ccccxaaaa 输出: x hxbecqibzpyqhosszypghkdddykjfjcajnwfmtfhqcpavqrtoipocijrmqpgzoufkjkyurczxuhkcpehbhpsuieqgjcepuhbpronmlrcgvipvibhuyqndbjbrrzpqbdegmqgjliclcgahxoouqxqpujsyfwbdthteidvigudsuoznykkzskspjufgkhaxorbrdvgodlb qnnprxqpnafnhekcxljyysobbpyhynvolgtrntqtjpxpchqwgtkpxxvmwwcohxplsailheuzhkbtayvmxnttycdkbdvryjkfhshulptkuarqwuidrnjsydftsyhuueebnrjvkfvhqmyrclehcwethsqzcyfvyohzskvgttggndmdvdgollryqoswviqurrqhiqrqtyrl 输出:hxbbpyhogntqppcqgkxchpsieuhbncvpuqndbjqmclchqyfttdvgoysuhrrl或其他任何相同长度的公共子序列 riikscwpvsbxrvkpymvbbpmwclizxlhihiubycxmxwviuajdzoonjpkgiuiulbjdpkztsqznhbjhymwzkutmkkkhirryabricvhb jnrzutfnbqhbaueicsvltalvqoorafnadevojjcsnlftoskhntashydksoheydbeuwlswdzivxnvcrxbgxmquvdnfairsppodznm kzimnldhqklxyezcuyjaiasaeslicegmnwfavllanoolkhvqkjdvxrsjapqqwnrplcwqginwinktxnkfcuuvoyntrqwwucarfvjg …

3
环绕子序列
介绍 在这个挑战中,您的任务是找到字符串的广义子序列。子序列不一定是连续的,它们也可以“环绕”字符串,越过字符串的末端并从头开始。不过,您将需要尽量减少换行次数。 更正式地说,让u并且v是任意两个字符串和k ≥ 0一个整数。我们说u是k,计量子的v,如果有不同的指标,从而,在大多数指标的满足。这意味着可以在内部找到,方法是从左到右,在途中选择其某些字符,然后最多包装(等效地,最多扫描一次)。请注意,即使重新包装后,也不能选择一个以上的字符,而且-wrapping子序列恰好是我们都熟悉的普通子序列。i1, i2, ..., ilen(u)u == v[i1] v[i2] ... v[ilen(u)]kijij > ij+1uvkk+1v0 任务 您的输入是两个非空的字母数字字符串u和v,而您的输出是最小的整数k,因此u是的k换行子序列v。如果不k存在,则输出为-1。 例 考虑输入u := xyzyxzzxyx和v := yxzzazzyxxxyz。如果我们开始寻找的字符u在v一个贪婪的方式,我们将环绕3次: yxzzazzyxxxyz >─x─────y────z┐ ┌─────────────┘ └y───────x────┐ ┌─────────────┘ └──zz─────x─y─┐ ┌─────────────┘ └──────────x──> 因此,正确的输出最多为3。请注意如何x选择最左边的字符一次,然后在第二次扫描中将其忽略,因为它无法重复使用。但是,存在一种较短的方法,只有两个环绕: yxzzazzyxxxyz >──────────xyz┐ ┌─────────────┘ └yxzz────x────┐ ┌─────────────┘ └───────y─x───> 事实证明,仅一次环绕(即两次扫描)是不够的,因此正确的输出是2。 规则和奖金 您可以编写函数或完整程序,也可以根据需要更改输入顺序。最低字节数获胜,并且不允许出现标准漏洞。 在不到10秒的时间内计算所有测试用例,可获得-10%的奖励。我将在机器上测试不清楚的情况;我在Python中的参考实现大约需要0.6秒。我有一台使用1.86 GHz双核CPU的7年笔记本电脑,您可能要考虑到这一点。 测试用例 "me" "moe" -> 0 "meet" "metro" …

1
生成Davenport-Schinzel序列
背景 甲Davenport-Schinzel序列具有两个正整数参数d和n。我们将通过给定参数来表示所有Davenport-Schinzel序列的集合DS(d,n)。 考虑自然数的所有序列1到n,包容性,满足: 序列中没有两个连续的数字相同。 没有长度大于的子序列(不一定是连续的)d,它在两个不同的数字之间交替。 让L表示这样一个序列的最大长度(给定d和n)。然后,DS(d,n)是所有具有length的此类序列的集合L。 一些示例可能会有所帮助。让d = 4,n = 3。具有这些约束的最长序列可能具有L = 8。因此,以下成员是DS(4,3): [1, 2, 1, 3, 1, 3, 2, 3] 没有连续的相同数字,并且存在交替的length子序列4,但没有更长的子序列: 1 2 1 2 1 2 1 2 1 3 1 3 1 3 1 3 2 3 2 3 2 3 2 3 1 3 1 3 …

10
找到最大的子序列总和
给定整数序列,可以找到该序列的子序列(在连续位置上的整数)的最大和。子序列可以为空(在这种情况下,总和为0)。 从标准输入读取输入,每行一个整数。必须将最大金额写入标准输出。 我为您编写了一个小型发电机: #include <stdio.h> #include <assert.h> /* From http://en.wikipedia.org/wiki/Random_number_generation */ unsigned m_w; unsigned m_z; unsigned get_random() { m_z = 36969 * (m_z & 65535) + (m_z >> 16); m_w = 18000 * (m_w & 65535) + (m_w >> 16); return (m_z << 16) + m_w; /* 32-bit result */ …

10
确定一个网格是否包含另一个网格
挑战 创建一个函数将两个二维字符数组(如果编程语言没有字符作为数据类型,则为字符串)作为输入:a和b。如果您的语言不支持这些输入,则可以使用任何其他标准的一字节变量。 您的任务是确定b是否包含a。如果是这样,则返回true。否则,返回false。 样本测试用例 a: 123 456 789 b: 123 456 789 应该返回true。 a: code golf b: thisis code!! golf!! ohyeah 应该返回true。 a: abcd efgh ijkl b: abcdef ghijkl mnopqr 应该返回false。 a: abc def b: 1abc2 3def4 5ghi6 应该返回true a: ab cd b: #ab## ##cd# 应该返回假 最少字节获胜。

8
从构成完美正方形的序列中收集
给定序列OEIS A033581,它是无限序列,则第n个项(0索引)由封闭形式公式6×n 2给出。 您的任务是编写代码,该代码将输出序列中N个第一个数字集合的所有子集,以使子集的总和为一个完美的平方。 规则 N给出整数作为输入。 您不能重复使用已在总和中使用的数字。(也就是说,每个数字最多可以出现在每个子集中一次) 使用的数字可以是非连续的。 以最小的代码获胜。 例 给定的顺序为{0,6,24,54,96,...,15000} 所需的子集之一将是{6,24,294},因为 6+24+294 = 324 = 18^2 您需要找到给定范围内所有可能长度的所有此类集合。

7
构造雅可比矩阵
取未知向量,并应用一些通用的微分函数。的雅可比然后通过矩阵给出,使得: 例如,假设m=3和n=2。然后(使用基于0的索引) 雅可比f然后 这个挑战的目标是打印这个雅可比矩阵。 输入值 你的程序/功能应该采取作为输入两个正整数m和n,其代表的部件的数目f和u分别。输入可以来自任何所需的来源(stdio,功能参数等)。您可以指定接收顺序,对于输入的答案必须一致(请在答案中指定)。 输出量 代表雅可比矩阵的东西。此表示形式必须明确拼出Jacobian矩阵的所有元素,但是每个术语的确切形式都是实现定义的,只要明确区分什么以及关于什么进行区分,并且每个条目均以逻辑顺序输出。用于表示矩阵的示例可接受形式: 列表列表,其中外部列表​​的每个条目都对应于雅可比行的一行,内部列表的每个条目都对应于雅可比行的列。 字符串或文本输出,其中每行是Jacobian行,每行中由定界符分隔的条目对应于jacobian的列。 矩阵的一些图形/视觉表示。示例:使用MatrixForm命令时Mathematica显示的内容 其他每个条目都已存储在内存中并且可以查询的密集矩阵对象(即,您不能使用生成器对象)。例如,Mathematica如何在内部表示Matrix对象 条目格式示例: 形式为的字符串d f_i/d u_j,其中i和j是整数。例如:d f_1/d u_2。请注意,d和f_1或之间的这些空格x_2是可选的。此外,下划线也是可选的。 形式为d f_i(u_1,...,u_n)/d u_j或的字符串d f_i(u)/d u_j。也就是说,功能组件的输入参数f_i是可选的,并且可以明确地拼写出来或以紧凑形式保留。 格式化的图形输出。例如:计算表达式时Mathematica会打印什么D[f_1[u_,u_2,...,u_n],u_1] 您可以选择起始索引u和目标索引f(请在答案中指定)。输出可以是任何所需的接收器(stdio,返回值,输出参数等)。 测试用例 以下测试用例使用约定m,n。索引显示为从0开始。 1,1 [[d f0/d u0]] 2,1 [[d f0/d u0], [d f1/d u0]] 2 2 [[d f0/d u0, d f0/d u1], [d f1/d u0, d …

6
Codegolf Rainbow:使用反射对颜色进行排序
介绍: 在我发布了两个与Rainbow 相关的挑战:Codegolf Rainbow:使用整数数组1和Codegolf Rainbow:以黑白绘制 2之后,@ ChrisM在ASCII中做出了以下评论(Draw in Black-and-White)挑战: 也许您知道这一点,这是设计使然的(我知道彩虹也不是菱形或ascii,并且更高阶的位置会变得更加复杂),但是第二个彩虹中的颜色不是颠倒了吗? 他的确是正确的。当您看到两条彩虹时,第二条实际上是第一条的反射,因此颜色是相反的。有三个彩虹,这是实际的双彩虹,第三个彩虹是其他两个彩虹之一的反映。并且有四个,有两个彩虹,以及两个彩虹。 因此,让我们利用这个事实提出第三个相关挑战。 挑战: 输入:一个正整数n,为>=2,以及一个size的整数列表>= n+1。 输出:相同的列表顺序如下: 首先将输入列表分为大小子列表n(尾随子列表可以是范围内的任何大小[1,n])。 然后,根据子列表的数量执行以下操作m: 将m - m//2子列表的第一数量从最低到最高(其中//是整数除法)进行排序。(即具有6个子列表,前三个将按从低到高的顺序排序;具有5个子列表时,前三个按从低到高的顺序排序。) 将m//2子列表的最后数量从最高到最低排序(其中//是整数除法)。(即具有6个子列表,后三个将按从高到低的顺序排序;具有5个子列表,后两个将按从高到低的顺序排序。) 将所有子列表合并在一起,再次形成一个列表 例子: 输入:n=7和[3,2,1,-4,5,6,17,2,0,3,5,4,66,-7,7,6,-5,2,10] 步骤1:[[3,2,1,-4,5,6,17],[2,0,3,5,4,66,-7],[7,6,-5,2,10]] 步骤2:[[-4,1,2,3,5,6,17],[-7,0,2,3,4,5,66],[10,7,6,2,-5]] 步骤3 /输出:[-4,1,2,3,5,6,17,-7,0,2,3,4,5,66,10,7,6,2,-5] 输入:n=4和[7,4,-8,9,3,19,0,-23,-13,13] 步骤1:[[7,4,-8,9],[3,19,0,-23],[-13,13]] 步骤2:[[-8,4,7,9],[-23,0,3,19],[13,-13]] 步骤3 /输出:[-8,4,7,9,-23,0,3,19,13,-13] 挑战规则: 整数输入n保证大于1。 整数列表的大小保证大于n。 尾随子列表可以小于n(可以在示例和测试用例中看到)。 I / O格式在任何合理的格式中都是灵活的。可以是整数或小数的列表/数组,逗号/空格/换行符分隔的字符串,整数流等。(输出可能不是步骤2的列表的2D列表。步骤3将其展平为单个列表是这项挑战所必需的。) 通用规则: 这是 代码高尔夫球,因此以字节为单位的最短答案会获胜。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于您的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。您的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接。 …

7
打假素!
简介/背景 在最近一次关于加密聊天的讨论中,我被挑战去讨论/帮助Fermat素数测试和Carmichael数字。该测试基于a^(p-1) mod p==1始终适用于素数p而不适用于复合材料的前提。现在,carmichael号码本质上是Fermat考验的最大敌人:您必须选择一个号码,a以使其不与素数p相抵a^(p-1) mod p!=1。现在,如果a不是互质,则基本上可以发现一个非平凡的因子p众所周知,保理可能相当困难。特别是在所有因素都足够大的情况下。您现在可能已经意识到,为什么在实践中不经常使用Fermat测试(还有更好的算法),这是因为作为防御者(在安全性方面)您需要为某些数字做与攻击者(即数量)。 因此,既然我们知道为什么这些数字有些引人入胜,我们将以最短的方式生成它们,因此只要需要,我们就可以记住生成的代码! Carmichael编号在OEIS上也称为A002997。已经 存在一个相关的挑战,但是这里的条目没有竞争力,因为它们是针对速度而非大小进行了优化的。同样的论点也适用于反方向,此处的输入可能会在速度上做出取舍,而有利于大小。 规格 输入项 这是一个标准 序列挑战,因此您将正整数或非负整数n作为输入。n可以根据需要选择0或1的索引(请指出)。 输出量 根据需要,您的输出将是n-th carmichael数或第一个ncarmichael数(请指出)。 规格 一个整数x是卡迈克尔数当且仅当x是复合材料和所有的整数y与gcd(x,y)=1,它认为y^(x-1) mod x==1。 谁赢? 这是 代码高尔夫球,因此以字节为单位的最短代码获胜!适用标准IO和漏洞规则。 测试用例 前几个carmichael号码是: 561,1105,1729,2465,2821,6601,8911,10585,15841, 29341,41041,46657,52633,62745,63973,75361,101101, 115921,126217,162401,172081,188461,252601,278545, 294409,314821,334153,340561,399001,410041,449065, 488881,512461
9 code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

13
扩大比较链
与大多数语言不同,Python a<b<c会像在数学中一样进行评估,实际上是比较三个数字,而不是将布尔值a<b与进行比较c。用C(以及许多其他语言)编写此代码的正确方法是a<b && b<c。 在这个挑战中,您的任务是将这样任意长度的比较链从Python /直观表示扩展到如何用其他语言编写。 技术指标 您的程序必须要处理运算符:==, !=, <, >, <=, >=。 输入将具有仅使用整数的比较链。 不用担心一路比较的真实性,这纯粹是语法/语法上的挑战。 输入将没有任何空格,以防止答案因分割空格而使解析变得琐碎。 但是,您的输出可能只有一个空格,要么仅包含&&,要么包含比较运算符和&&,或者两者都不包含,但是要保持一致。 测试用例 Input Output --------------------------------------------------------------- 3<4<5 3<4 && 4<5 3<4<5<6<7<8<9 3<4 && 4<5 && 5<6 && 6<7 && 7<8 && 8<9 3<5==6<19 3<5 && 5==6 && 6<19 10>=5<7!=20 10>=5 && 5<7 && 7!=20 15==15==15==15==15 …
9 code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

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.