Questions tagged «code-golf»

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

11
查找整数数组之间的最小成本匹配
考虑两个分别为整数和且的整数和的排序数组。例如,。ÿ 米Ñ 米&lt; Ñ X = (1 ,4 )ÿ = (2 ,10 ,11 )XXXÿYY米mmñnnm &lt; nm&lt;nm < nX= (1 ,4 )X=(1,4) X = (1,4)ÿ= (2 ,10 ,11 )Y=(2,10,11)Y = (2,10,11) 我们说一个匹配配对的每个元素的一些方法使用的元素以这样一种方式,没有两个元素都具有相同的元素配对 。匹配的成本只是对中差异的绝对值之和。Y X YXXXÿYYXXXÿYY 例如,使用,我们可以制作成对的对其成本为。如果我们将成对则成本将为。如果我们将成对则成本将为。ÿ = (2 ,10 ,11 )(7 ,2 ),(11 ,10 )5 + 1 = 6 (7 ,10 …

23
将数字转换为字母,反之亦然
根据数字及其等效字母的列表,输入字符串,用等效数字/字母替换该字符串的字符,然后输出结果。 清单 1 =一个 2 = b 3 = c 4 =天 5 = e 6 = f 7 = g 8 =小时 9 =我 0 = j 输入值 第1124章 输出量 t89s9s1str9n7aabd 规则 数字仅等效于小写字母。 列表外的任何字符都将保留原样。 输入字符串不能包含空格。 允许完整的程序或功能。 由于它是代码高尔夫球,因此最少的字节获胜。
12 code-golf  string 

3
优化我的消零器
我是《爬行者世界》游戏的忠实粉丝,尤其是续集。您无需知道该游戏如何回答问题,我只想提及我的问题源自何处。 在游戏中,您的目标是使用被称为“消音器”的武器消灭正在产生爬行者的发射器。 消零器可以破坏该半径范围内的任何发射器: eee eeeee eenee eeeee eee 每个无效器可以针对多个发射器。 你的目标 给定一个模拟2D映射的数组,该映射由空无和带有您想要的任何字符的发射器组成,可以是空格,e或数字-只需确保它们是可区分的,输出具有最佳数量的nullifiers n(或您想要的内容)的同一映射)放置,以便使用最少数量的无效符销毁发射器。 如果有多种最佳方式可以做到这一点,那么只输出一种就可以了。但是,如果任务无法解决,例如说发射器太多,没有布局会碰到所有发射器,则必须输出明显不同的东西,null就足够了 快速规则: 输入:多维数组 输入将包含两个字符,分别表示无意义和发射器,包括答案中的内容 输出:多维数组 输出将包含三个字符,表示无,发射器和无效器,或者如果输入不可解决则为可区分的输出 您只能用无效符替换无字符 无效符可以击中多个发射器,并且始终击中范围内的所有 无效词可以击中上面指定的区域,并且将始终击中它可以瞄准的所有发射器 以字节为单位的最短答案获胜 禁止出现标准漏洞 例子 输入: [[ , ,e, , ], [ , , , , ], [e, , , ,e], [ , , , , ], [ , ,e, , …

30
最后一位数字
对于给定的数字找到的最后一位 示例:x x x … x n 3 2 1[ x1个,X2,X3,。。。,Xñ][x1,x2,x3,...,xn][x_1, x_2, x_3, ..., x_n]XXX…Xñ321个x1x2x3…xnx_1 ^{x_2 ^ {x_3 ^ {\dots ^ {x_n}}}} [3, 4, 2] == 1 [4, 3, 2] == 4 [4, 3, 1] == 4 [5, 3, 2] == 5 因为。3(42)= 316= 430467213(42)=316=430467213 ^ {(4 ^ 2)} = …
12 code-golf  math 

12
绘制分布图!
挑战 给您三个整数作为输入- min_value, max_value, sample_size,您可以将它们作为数组或多个参数传递给答案。 您的任务是以任何方便的格式输出图表,该图表将显示该(min_value, max_value)范围内的数字出现的频率,当该范围内的随机数(min_value, max_value)被选取时会显示出来sample_size。随机数序列应在您的答案内生成。 在较大范围和样本量的情况下,只要表示法保持准确,您就可以自由更改图表使用的步骤。 例 随着[1, 5, 10]输入: o o o x o x o x x x x x x x x 1 2 3 4 5 与[1, 100, 15]作为输入(在10步,所以00示出了1-9,图10示出10-19等): xx oo oo xx oo xx oo oo oo oo xx oo oo xx …
12 code-golf  random 

11
查找邻居总数最高的数字
挑战 给定一个数字网格(10 &lt;= N &lt;= 99)返回的数字具有与其相邻的四个数字中的最高和;就是数字的上方,下方,右侧和左侧,但本身不是。 这个数字本身不算,只有四个邻居。 边缘的数字应被视为丢失的数字为0。 我将设计测试以避免联系。 数字不会重复。 这是代码高尔夫球。 例 给定 56 98 32 96 12 64 45 31 94 18 83 71 返回 18 真实的测试 给定 98 95 67 66 57 16 40 94 84 37 87 14 19 34 83 99 97 78 50 36 18 …

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, …

1
在Octave中定义匿名递归函数的最短方法是什么?
我喜欢Octave中的函数式编程,但是在实践中相当笨拙。我想知道定义匿名递归函数的最短方法。 我有一些想法,但我想知道是否有一种方法可以将这些想法组合在一起,使它们变得更短(或同样简短但功能更广泛)。为了解决这个问题,让我们递归递减为零(只是为了使有效负载尽可能简单)。 如果我的推论是正确的,则在以下示例中使用的变量名都不应重叠。所需的函数是q(n),应始终返回零。i用作计数器变量,f是我g在的本地范围中调用的递归函数f。 44个字节,“内联定义f” q=@(n)(f=@(g,i){@()g(g,i-1),i}{~i+1}())(f,n) 44字节,“参数列表定义f” q=@(n,f=@(g,i){@()g(g,i-1),i}{~i+1}())f(f,n) 44个字节,“的单独定义f” f=@(i,g){@()g(i-1,g),i}{~i+1}();q=@(n)f(n,f) 41个字节,“作为返回值的所需功能” f=@(g)@(n){@()g(g)(n-1),n}{~n+1}();q=f(f) 当前的“赢家”是受骗子的答案启发的。但是,鉴于执行此操作的方法范围很广,也许有人可以想到更短的方法组合。 我们的目标当然是使它具有39字节以下的“完整”功能,请在线尝试!
12 code-golf  tips  octave 

1
自枚举的pangram
gram 敏捷的棕色狐狸跳过了那只懒狗。 这是一个连字符(pangram)的例子-一个句子,至少包含一次字母表中的每个字母。 一个自枚举全字母短句是符合标准的生产自己的信件数量的分析是一个全字母短句的句子。 实现这一目标的一个例子是 该Pangram包含四个As,一个B,两个C,一个D,三十个E,六个F,五个G,七个H,十一个Is,一个J,一个K,两个L,两个Ms,十八个Ns,十五个Os,两个Ps ,一个Q,五个R,二十七个S,十八个T,两个Us,七个V,八个W,两个X,三个Y和一个Z。 挑战 产生一个函数,输入是通向字母清单的字符串。在示例中,输入将为“此pangram包含”。每个字母的数量必须采用书面形式,并有助于显示的字母数。 规则 牛津逗号是可选的 在Z之前使用&号(或在硬模式下,包括在函数中的“&”和“ and”之间切换的功能) 每个字母都计入总字母数 没有非书面数字 这是代码高尔夫球,因此以字节为单位的最短代码获胜 在亚硝酸ü本周末r是已婚夫妇,这个数字是在女王的英语编写。例如,nine hundred and ninety-nine Gs对于出现的999个字母G和nine hundred and nine Gs909。 数量级应以标准的小规模命名约定编写 边缘情况 在某些情况下,代码会陷入循环中-例如,如果有两个O,则代码会将计数增加到三个O,这会使代码再次对两个O计数。如果在返回到该值之前计算出其他所有字母都不能解决问题,请认为输入是错误的启动器和输出false,null或者是空字符串。 如果一个字母出现999次以上,则该输入应视为错误的启动器。 测试用例 “此pangram包含”应输出例句

9
计算每个csv记录中的字段数
想象一个文本文件,其中每个csv记录可能具有不同数量的字段。任务是编写代码以输出文件的每个记录中有多少个字段。您可以假设文件中没有标题行,并且可以选择从文件或标准输入中读取内容。 您可以为csv规则假设使用rfc4180版本,以下将为文件的每一行定义进行解释。这是该规范相关部分的轻松编辑版本: CSV格式的定义 每个记录位于单独的行上,并由换行符(CRLF)分隔。例如: aaa,bbb,ccc CRLF zzz,yyy,xxx CRLF 文件中的最后一条记录可能有也可能没有换行符。例如: aaa,bbb,ccc CRLF zzz,yyy,xxx (规则3.不适用于本挑战) 在每个记录中,可能会有一个或多个字段,以逗号分隔。空格被视为字段的一部分,不应忽略。 每个字段可能会或可能不会用双引号引起来。如果字段没有用双引号引起来,则双引号可能不会出现在字段内。例如: "aaa","bbb","ccc" CRLF zzz,yyy,xxx 包含换行符(CRLF),双引号和逗号的字段应用双引号引起来。例如: "aaa","b CRLF bb","ccc" CRLF zzz,yyy,xxx 如果使用双引号将字段括起来,则必须在字段内部出现双引号,方法是在其前面加上另一个双引号,以对其进行转义。例如: "aaa","b""bb","ccc" 例 输入: ,"Hello, World!" "aaa","b""bb","ccc" zzz,yyy, "aaa","b bb","ccc","fish","" 应该给出输出: 2, 3, 3, 5 您可以使用最方便的任何方式提供输出值。 图书馆 您可以使用任何喜欢的库。 到目前为止,真棒答案,但是我们缺少命令行/ bash答案,这将特别酷。
12 code-golf 

8
数字出现
输入: 整数列表(永远不会包含零) 输出: 相同大小的列表,其计数基于以下内容: 如果当前项目为负:查看该项目之前的所有项目,并计算该数字在这些其他数字中出现了多少次 如果当前项目为正:则查看此项目之后的所有项目,并计算该数字在其他数字中出现了多少次 有一种说法:如果列表的大小为偶数,则我们仅对每个数字计数一次(即使它与多个数字匹配),如果列表的大小为奇数,则为当前项的每个数字计算数字的每个数字(重复数字被多次计数)。 让我们举一些例子来澄清这一点: 带有偶数列表的示例: Input: [4, 10, 42, -10, -942, 8374, 728, -200] Output: [3, 2, 4, 1, 2, 1, 1, 5 ] 列表的大小为偶数,因此我们只对每个数字计数一次。 4:这是积极的,所以我们很期待。有包含数位三数4(42,-942,8374)。因此,我们从开始3。 10:这是积极的,所以我们很期待。有两个数字,分别包含数字1和/或0(-10,-200)。因此,第二个输出是2。 42:再次肯定,如此向前。有含有任一数字四个数字4和/或2(-942,8374,728,-200)。因此,第三个输出是4。 -10:这一次是负面的,所以我们往后看。只有一个数字包含数字1和/或0(我们忽略减号)(10)。因此,第四输出是1。 等等 带有奇数列表的示例: Input: [382, -82, -8, 381, 228, 28, 100, -28, -2] Output: [13, 2, 2, 4, …

19
双打基地
背景 IEEE 754双精度浮点格式是一种表示64位实数的方法。看起来如下: 实数按以下方式n转换为double: s如果数字为正,则符号位为0,否则为1。 的绝对值n以22**y * 1.xxx的幂乘以base的形式表示。 指数e是y(2的幂)减去1023。 分数f是xxx部分(基数的分数部分),采用最高有效52位。 相反,位模式(由sign s,exponent e和fraction 定义f,每个都是整数)表示数字: (s ? -1 : 1) * 2 ** (e - 1023) * (1 + f / (2 ** 52)) 挑战 给定一个实数n,将其double表示形式的52位小数部分输出n为整数。 测试用例 0.0 =&gt; 0 1.2 =&gt; 900719925474099 (hex 3333333333333) 3.1 =&gt; 2476979795053773 (hex 8cccccccccccd) 3.5 …
12 code-golf 

15
及时分箱
这项挑战中的任务是将数组的元素放入时间仓。输入将是一个非递减的正整数数组,该整数表示事件的时间,而整数则表示每个bin的大小。让我们从一个例子开始。我们称为输入数组A和输出数组O。 `A = [1,1,1,2,7,10]` and `bin_size = 2`. `O = [4,0,0,1,1]`. 为什么呢 使用a bin_size = 2,我们将具有以下间隔:在第一个间隔内(0,2], (2,4], (4,6], (6,8], (8,10]有四个项目,在第二个和第三个间隔(1,1,1,2)内(0,2]没有一个7,在间隔中(6,8]一个10,在间隔中一个(8,10]。 您的代码应考虑bin_size从开始的每个长度间隔,0并计算每个间隔中A有多少个数字。您应始终将区间的右端包括在bin中,因此在上面的示例2中将其包括在中4。您的代码应在输入和输出长度之和的线性时间内运行。 更多示例: `A = [1,2,7,12,15]` and `bin_size = 5`. `O = [2, 1, 2]`. `A = [1,2,7,12,15]` and `bin_size = 3`. `O = [2,0,1,1,1]`. 您可以假定输入和输出可以以您认为方便的任何格式给出。您可以使用任何喜欢的语言和库。

30
整数对数
鉴于整数N , P &gt; 1,找到最大的整数M这样P ^ M ≤ N。 输入/输出: 输入为2个整数N和P。输出将是整数M。 例子: 4, 5 -&gt; 0 33, 5 -&gt; 2 40, 20 -&gt; 1 242, 3 -&gt; 4 243, 3 -&gt; 5 400, 2 -&gt; 8 1000, 10 -&gt; 3 笔记: 输入将始终有效,即它将始终是大于1的整数。 学分: 该名称的信誉归@cairdcoinheringaahing所有。最后3个示例由@Nitrodon提供,改进说明的功劳归@Giuseppe所有。

2
分解多项式
给定度数严格大于1的整数多项式,请将其完全分解为度数严格大于1的整数多项式的组合。 细节 一个完整的多项式是唯一的整数作为系数的多项式。 给定两个多项式p和q所述组合物由下式定义(p∘q)(x):=p(q(x))。 整数多项式的分解是整数多项式p的有限有序序列,q1,q2,...,qn其中deg qi &gt; 1对1 ≤ i ≤ n和和p(x) = q1(q2(...qn(x)...)),并且所有qi不可进一步分解。分解不一定是唯一的。 您可以使用系数列表或内置的多项式类型作为输入和输出。 请注意,用于此任务的许多内建函数实际上会分解给定字段上的多项式,而不一定是整数,而此挑战则需要分解整数多项式。(某些整数多项式可能允许分解为整数多项式以及包含有理多项式的分解。) 例子 x^2 + 1 [x^2 + 1] (all polynomials of degree 2 or less are not decomposable) x^6 - 6x^5 + 15x^4 - 20x^3 + 15x^2 - 6 x - 1 [x^3 - 2, …

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.