Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

23
找到正因数!
定义 如果数字大于零,则为正数。 如果数字(A)可以除以无余数,则它是另一个数字(B)的除数。AB 例如,2是6因的除数,2可以除以6余数。 目标 您的任务是编写一个带正数的程序/函数,然后找到所有除数。 限制 您不得使用任何与prime 或 factorization相关的内置函数。 算法的复杂度不得超过O(sqrt(n))。 自由 输出列表可能包含重复项。 输出列表不需要排序。 计分 这是代码高尔夫球。以字节为单位的最短解决方案获胜。 测试用例 input output 1 1 2 1,2 6 1,2,3,6 9 1,3,9

3
旋转矩阵中的每个2x2块
挑战 给定一个n x m矩阵,n > 1并m > 1 用整数填充 1 2 3 4 5 6 以及具有与2x2矩阵中的块数量一样多的值的整数列表((n-1)*(m-1)如果需要确切的数字) [1,2] 2x2以给定的顺序输出矩阵,其中每个块按列表中的当前值旋转。上面的例子会产生 4 6 2 5 3 1 第一块向右旋转一次,第二块向右旋转两次。 笔记 正整数表示您向右旋转了许多步。 负整数表示您向左旋转了这么多步。 零表示您不旋转。 您逐行旋转块。这意味着您从第一行开始,然后转到右侧。旋转该行中的每个块后,您将转到下一个块。最后,每个程序块仅旋转一次。 请记住,这些块相互重叠。上述第一矩阵具有块[[1,2],[4,5]]和[[2,3],[5,6]]例如。 块的每次旋转都会影响相邻块的旋转。这就是为什么您必须按照上述模式进行旋转。 规则 您可以采用最方便的格式输入。请在您的答案中指定使用哪一个。这并没有让你读矩阵逐块虽然。 允许功能或完整程序。 输入/输出的默认规则。 有标准漏洞。 这是代码高尔夫球,因此最低字节数获胜。Tiebreaker是较早提交的内容。 测试用例 输入格式是矩阵列表和值的常规列表。 [[1,2],[3,4]],[-3]-> [[4,1],[3,2]] [[1,1,1],[1,1,1]],[-333,666]-> [[1,1,1],[1,1,1]] [[1,2,3],[4,5,6]],[1,2]-> [[4,6,2],[5,3,1]] [[1,2,3],[4,5,6],[7,8,9]],[4,0,12,-20]-> [[1,2,3],[4, 5,6],[7,8,9] [[1,2,3,4,5],[5,4,3,2,1],[1,2,3,4,5]],[2,-3,4,1,6, …

1
帮助Jason格式化他的JSON
杰森(Jason)有一个很大的JSON,但它不可读,因此需要美化它。 格式化规格 JSON有4种不同的类型: 数字;只是0-9 弦; 用双引号引起来的"字符串\ 数组;以分隔[],项目以分隔,,项目可以是以下任何类型 对象;以分隔{},格式是key: valuekey是字符串,value是这些类型中的任何一种 间距 数组之间的逗号之间应仅留一个空格 对象应该在键和值之间只有一个空格, : 缩进 每个嵌套级别比上一个缩进2个级别 每个对象键/值对始终在自己的行上。对象缩进 如果数组包含另一个数组或对象,则该数组将缩进多行。否则,数组将保持一行 规则 内置插件,其轻视这个任务都不会允许的。 一如既往,不允许出现标准漏洞 例子 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, { "d": [2, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

9
一个经典的排序代码高尔夫球问题
这是一个代码问题。 输入值 以最方便的格式列出非负整数。 输出量 以任何格式排序的相同列表最方便。 限制 在最坏的情况下,您的代码必须以O(n log n)的时间运行,这n是输入中整数的数量。这意味着例如随机快速排序。但是,还有许多其他选项可供选择。 不要使用任何排序库/函数/类似函数。另外,不要使用任何可以为您完成大部分排序工作的东西,例如堆库。基本上,无论您实施什么,都应从头开始实施。 您可以根据需要定义一个函数,但是请在实际运行的完整程序中显示该函数的示例。它应该在下面的所有测试案例中成功且快速地运行。 测试用例 In: [9, 8, 3, 2, 4, 6, 5, 1, 7, 0] Out:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In: [72, 59, 95, 68, 84] Out:[59, 68, 72, 84, 95] In: [2, 2, 1, 9, 3, …

9
帕斯卡三角形作为二维列表
创建一个Pascal三角形,它是一个嵌套列表,在未使用的位置包含零。 在输出数组中,帕斯卡三角形的数字用零分隔,并在每一侧用零填充,以使它们居中。例如,最下面一行(最后一个子数组)的左右两侧不得为零;倒数第二个子数组的每一侧都有一个零填充,依此类推。 这是输入的输出5: [[0,0,0,0,1,0,0,0,0], [0,0,0,1,0,1,0,0,0], [0,0,1,0,2,0,1,0,0], [0,1,0,3,0,3,0,1,0], [1,0,4,0,6,0,4,0,1]] 与往常一样,以字节数最少的解决方案为准。
11 code-golf  math 

4
邪恶的数字
@Mego用他的神圣数字和Holier数字创建的内容极大地激发了这一挑战,非常感谢他和他的双关语。 圣数是仅由带孔的数字组成的数字,它们是: 04689 至少有一个邪恶数字的数字被认为是邪恶的。从定义上讲,邪恶的数字是邪恶的,但是接近神圣的数字有助于他们变得中立。因此,它们越近,邪恶越少(相邻时为1)。 数字的不洁是其数字的不洁之和,仅由不洁的数字组成的数字具有无限的不洁。 Number :8 5 5 8 7 Digital Unholiness:0+1+1+0+1 Total Unholiness :3 Number :0 1 7 5 5 2 8 5 7 Digital Unholiness:0+1+2+3+2+1+0+1+2 Total Unholiness :12 Number :1 5 7 3 2 1 Digital Unholiness:∞+∞+∞+∞+∞+∞ Total Unholiness :∞ Number :0 4 6 8 9 Digital …

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 …

4
随机密码与普通密码
在Github上,列出了10,000个最常用的密码。 我还生成了自己的随机密码列表。 您的工作是确定两个列表之间的差异(准确度为100%)。 因此,您的程序需要接受一个字符串,并返回: 如果密码在通用密码列表中,则为真值 如果密码在随机密码列表中,则为假值 如果密码都不在您想要的任何地方 对于那些感兴趣的人,我的程序会生成长度在5到10个字符之间的密码,并且每个字符都是小写字母或数字。 注意:请勿在安全的地方使用这些密码。我的生成算法根本不安全,结果在线发布,供所有人查看
11 code-golf 

9
阅读时间线
受到绘制时间线的启发。 给定事件的时间轴,输出每个事件的日期。 时间线将以以下形式给出 2000 --AF-C-------E--D---B-- 第一行显示已知时间点。已知年份始终是已知年份第一位以下的字符 您可以假设: 在时间轴上,每个字符代表一年。 总会有至少一个事件 事件不一定要井井有条 您可能会假设范围内的每个字符A以及距离最远的字符都存在 最多会有26个活动 已知点在右边将没有任何填充 已知点和输出中都可以有负数 您将不必处理大于2 ^ 32的数字 您将不必处理大于2 ^ 8的范围 您可以输入小写字母而不是大写字母 您应该编写一个采用这种时间表的程序,并按顺序输出关键日期(A,B,C,D ...) 您可以以方便的形式输出,但必须以给定的格式进行输入。 测试用例: 2000 --AF-C-------E--D---B-- [1998, 2016, 2001, 2012, 2009, 1999] 10 --C-AB--D [9, 10, 7, 13] 0 --ABCDEFG-- [-3, -2, -1, 0, 1, 2, 3] 5 --ABCDEFG-- …

6
免费的自相关样本
考虑一维实值向量x,它表示随时间以相等间隔测量的某些过程的观测值。我们称x为时间序列。 让ñ表示的长度X和X分别表示的算术平均值X。的样品自协方差函数被定义为 对于所有-n < h < n。这测量了在不同时间观察到的同一系列中两个点之间的线性相关性。 的样品的自相关函数,或ACF,被定义为 这仅使用值x t + h来度量在时间t处系列x的线性可预测性,我们将其表示为x t。 请注意,这些样本估计值与基于理论属性的单纯计算不匹配。即,将样品自相关函数不等于Pearson相关系数的X与ħ -step滞后的X。 任务 给定一个数组x和一个非负整数h,从滞后0开始打印或返回x的前h +1个滞后自相关。滞后自相关是与上式中的负输入相对应的滞后自相关。 您可以假设0 < h < n,其中n是x的长度,并且2 < n <256。 输出应正确到1E-4以内。内置功能的使用或运行时间没有限制。 例子 h, x -> output -------------- 5, [2.4, 2.4, 2.4, 2.2, 2.1, 1.5, 2.3, 2.3, 2.5, 2] -> [1.00000000, 0.07659298, -0.06007802, -0.51144343, -0.02912874, …

4
该HTML实体是什么字符?
目标真的很简单。接收字符串作为输入,解析与以下字符(包括它们的大写变体)相对应的所有HTML实体: áàãâäéèêëíìîïóòõôöúùûüýÿ 解析规则: 每个实体都以开头&和结尾; 之后的第一个字符&将是修改后的字符(大写字母很重要!) 其余字符是指口音的名字就使用(acute,grave,circ,tilde和uml)。重音名称必须为小写!* 产生一个字符,则不在此列,或者是无效的任何HTML实体,应保持不变(如:&,&etilde;,&a;) 数字实体应被忽略,因为它们不符合上述规则 此更改自2016年2月18日开始引入。接受带有大写重音符号的HTML实体的所有现有答案均有效。以后的任何回答都必须遵循此规则。 例子: á //á Téhèh //Téhèh an & //an & 输出: 输出可以是ISO-8859- X(1-15),windows-1252或UTF-8 / 16/32。 您只能选择一种有效的编码,并将其用于任何输出。您可以放心地假设输入将为ASCII。 以下任何一项是的有效输出á: á(ISO-8859-1 / 15或Windows-1252,等效于\xE1) á(UTF-8,等效于\xC3\xA1或\u00E1) aÌ(UTF-8,等效于a\xCC\x81或a\u0301) 不使用HTML实体的变音符号的任意组合。 呈现/显示时,输出必须在视觉上类似于列表中的字符。 请记住,所有标准漏洞和内置 *都是不允许的。由于这是代码高尔夫球,因此最短的答案将获胜。 *做出此更改是由于奖金和罚款的严重不当,并且在撰写本文时不会使任何答案无效

8
从整数到可变位数的双射映射
可变位数是一个0或更多位数的数组。所以,[0, 1]是将可变比特数,但这样的[]。 编写一个函数或程序,给定一个非负整数,该函数或程序将返回可变数量的位,以使每个整数与数组具有一对一(双射)映射。 此类映射的数量是无限的,您可以随意构造一个,但必须是一对一的。对于任意大小的整数,映射在概念上必须为一对一,但是如果由于首选语言(例如C的类型)的数值限制而导致对大整数的实现失败,则可以int。 作为不是一对一映射的示例,只需列出整数的二进制数字即可。在这样的系统中5变成[1, 0, 1](或0b101),但不是一对一的,因为0b0101或[0, 1, 0, 1]也意味着5。 显而易见,如果跳过整数(例如,它不适用于5),则映射不是一对一的,但我想明确指出,跳过可变位数组也不是一个一对一。您必须映射到每个可能的可变位数组,包括[]。 以字节为单位的最短代码获胜。

11
八进制,十进制还是十六进制?
给定仅包含字母和数字的输入字符串,编写一个程序或函数,以打印可能的可打印ASCII字符(十六进制7-7E),这些字符与以8、10和16为基数的字符串值相对应(如果可能)。字符必须按照与它们对应的基数(以8为基,等等)的升序书写。输出可以是数组格式(如[& . F]),也可以由空格或换行符(如样本)隔开(换行符是可选的)。 如果没有可能形成的可打印ASCII字符,则程序不得有任何输出。 样品 31 ==> 1 47 ==> ' / G 69 ==> E i 7A ==> z 100 ==> @ d 156 ==> n 189 ==> <empty> potaTO ==> <empty> 5G ==> <empty> 19 ==> <empty> 这是代码高尔夫球,因此,字节数最少的答案将获胜。适用标准规则。


2
让我们玩一些桌游吧!
介绍 桌游是孩子之间的经典游戏,但有些孩子一步一步玩桌游感到无聊。现在,他们希望在把手放到板上之前先显示结果。 挑战 假设这个棋盘游戏: >---#<---X---<X<--#-$ > means the start of the game - means a position without danger < means the player should return one step back X means the player won't move next round # means a portal where the player returns to the start position $ the first …

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.