Questions tagged «code-golf»

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

16
一个数是连续质数之和的方式数
给定一个大于1的整数,输出将其表示为一个或多个连续素数之和的方式数。 补数的顺序无关紧要。一个和可以包含一个数字(因此任何质数的输出至少为1。) 这是代码高尔夫球。适用标准规则。 有关相关信息和序列,包括序列本身的OEIS A054845,请参阅此OEIS Wiki。 测试用例 2 => 1 3 => 1 4 => 0 5 => 2 6 => 0 7 => 1 8 => 1 10 => 1 36 => 2 41 => 3 42 => 1 43 => 1 44 => 0 311 => 5 1151 …

16
巴士装载合法吗?
我今天在公共汽车上,注意到这个标志: seated standing wheelchairs max1 37 30 00 max2 36 26 01 max3 34 32 00 坐下的乘客,站立者和轮椅的数量必须不超过桌子上的某些行。(有关详细信息,请参见聊天。) 为了解决这一挑战,我们将概括这一思想:给定一个非负整数列表,其严格为正长度N(乘客类型的数量)和一个非负整数矩阵,其为严格正维(每个配置N列和一行) ,或它的转置),返回指示满足配置限制的索引/真实错误/两个唯一值的列表。 例如,使用上面的矩阵: 30,25,1→ [1](0索引)[2](1索引)或[false,true,false](布尔值)或["Abe","Bob","Abe"](两个唯一值)等。 以下测试例使用上面的矩阵和0/1为假/真: [30,30,0]→交通[1,0,1] [30,31,0]→交通[0,0,1] [35,30,0]→交通[1,0,0] [0,0,1]→交通[0,1,0] [0,0,0]→交通[1,1,1] [1,2,3]→交通[0,0,0] 以下测试案例使用以下矩阵: 1 2 0 4 2 3 0 2 [1,2,1,2]→交通[0,0] [1,3,0,1]→交通[0,1] [1,2,0,3]→交通[1,0] [1,2,0,1]→交通[1,1]

21
填满重复范围
令是没有特定顺序的正整数列表,并且可以包含重复项。编写程序或函数,输出正整数的列表(排序不重要),这样将和合并为最小的列表,可以将其完全拆分为整数范围相同的整数,其中是最大的元素M L M [ 1 .. i ] i LLLLMMMLLLMMM[1..i][1..i][1..i]iiiL大号L 例 让L = [5,3,3,2,7]。的最大元素L为7。特定整数出现的次数最多2(3出现2次)。因此,我们需要输出M将允许完成的列表,L以便我们可以构造2从1到的整数范围7。 因此,我们需要输出M = [1,1,2,4,4,5,6,6,7],以便从1to的每个整数7出现2次数。 输入和输出 使用与清单类似的任何语言。用于输入和输出的数据结构必须相同。 输入列表将仅包含正整数。 输入列表不会为空。 您不能假定输入列表已排序。 输出列表中的顺序并不重要。 测试用例 Input Output [1] [] [7] [1, 2, 3, 4, 5, 6] [1, 1, 1] [] [1, 8] [2, 3, 4, 5, 6, 7] [3, 3, 3, …

16
调和数列的精确部分和
挑战 给定一个正整数N,输出第一个N倒数的总和作为精确的分数,将其表示为一对整数,以一致的顺序表示分子和分母。 规则 输出必须准确。 输出应为一对整数,以一致的顺序表示分子和分母。 禁止使用非整数数字类型(内置或库)。 澄清/例外:当且仅当使用,计算和返回的所有值都是整数时,非整数数字类型才可以(例如,您的语言默认使用有理数,但您的答案中仅使用整数算术) 输出应尽可能减少。(3/2还可以,6/4不是) 禁止出现标准漏洞。 提交的内容至少应输入20个或此meta,以较高者为准。 测试用例 1: 1/1 2: 3/2 (1/1 + 1/2) 3: 11/6 (1/1 + 1/2 + 1/3) 4: 25/12 etc. 5: 137/60 6: 49/20 20: 55835135/15519504 56: 252476961434436524654789/54749786241679275146400 226: 31741146384418617995319820836410246588253008380307063166243468230254437801429301078323028997161/5290225078451893176693594241665890914638817631063334447389979640757204083936351078274058192000 测试用例生成(Python 3) import fractions def f(x): return sum(fractions.Fraction(1,i) for i in range(1,x+1)) …

30
计算前n个质数的总和
令我惊讶的是,这一挑战已经很明显了。(或者我很惊讶我找不到它,任何人都会将其标记为重复。) 任务 给定一个非负整数,计算前素数的总和并输出。nnnnnnn 例子1 对于n=5n=5n = 5,前五个素数为: 2 3 5 7 11 这些数字的总和是2+3+5+7+11=282+3+5+7+11=282 + 3 + 5 + 7 + 11 = 28,因此程序必须输出282828。 范例#2 对于n=0n=0n = 0,“第一个零”素数为空。没有数字的总和-当然是000。 规则 您可以使用内置函数,例如,检查数字是否为质数。 这是代码高尔夫球,因此每种语言中的最低字节数为准!
15 code-golf  primes 

14
大写密码
您的任务是解密由[32..126]范围内的可打印ASCII字符组成的非空字符串。 读取每个字符的字符串字符: 每次遇到小写字母时,请将其与大写的下一个字母相关联,以“ A”开头 每次遇到大写字母时,请将其替换为与之关联的小写字母 其他字符不需要任何特殊处理,并且保持不变 例 对于输入字符串"endlAsEBAEE": 联想e到A,n到B,d到C和l到D 替换A为e 关联s到E 替换EBAEE为sness 最终输出为"endlessness"。 澄清和规则 确保输入字符串最多包含每个小写字母一次。所有其他实例将替换为相应的大写字母。 输入字符串保证有效。(您不会遇到尚未与小写字母关联的大写字母。) 一旦将大写字母与小写字母相关联,该字符串以后可能会使用也可能不会使用。例如,在以上示例中未使用C和D。 这是代码高尔夫球,因此最短答案以字节为单位! 测试用例 输入: abcd honk! ABCD! abrAcAdABCA endlAsEBAEE helCo wDrCd! dermatoglyphics progBamFinD AuzJles & cCdL DCKf sphinx of black quKrtz, jOdge my vGw. K NODLM IPGZE HGF SOWBA GYVP QCV JKRX TGU. petBr …

22
测试字符串是否在括号内保持平衡
我们将parens组称为open paren (,与其匹配的close paren )以及其中的所有内容。 如果parens组或字符串不包含任何内容或仅包含2个括号平衡的parens组,则称为括号平衡。 例如: The string "(()())()" is parenthesly balanced ( )() Because it contains exactly 2 parenthesly balanced parens groups ()() The left one is parenthesly balanced because it contains 2 parenthesly balanced parens groups (balanced because they are empty). The right one is parenthesly balanced …

13
执行出色的Shuffle™
出于这个问题的目的,用这种方式格式化一副纸牌: [ "AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS", "AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD", "AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH", "AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", …
15 code-golf  cards 

25
混合分数等式
在小学,孩子们学习适当的分数,其中分子小于分母,因此分数的值小于一。后来,他们被教导有关分数值大于1的分数,以及两种不同的表达这些分数的方式:混合分数和不合适分数。 给定一个混合分数,请确定它是否等于将整数值和分子串联在一起的不正确分数。例如,对于输入1 3/4,不正确的分数为13/4。 测试用例 1 3/4 -> falsey 1 3/10 -> truthy 6 6/7 -> falsey 55 55/100 -> truthy 4 9/100 -> falsey 40 9/100 -> falsey 7 49/1000 -> falsey 9 1/2 -> falsey 999 999/1000 -> truthy 1 21/200 -> falsey 1 21/101 -> falsey 对于输入,您可以将整数部分和分数部分作为单独的输入,但不能将分数作为两部分作为输入,也可以不将其作为十进制值。如果不需要使用整数部分,可以删除它(不要将其作为输入)。

3
如何在Octave中使用匿名函数交换向量中的元素?
在Octave中交换向量/矩阵中的两个元素非常简单: x='abcde'; x([4,1])=x([1,4]) x = dbcae 不幸的是,我还没有找到在匿名函数中执行此操作的方法。尽管下面的函数在语法上是正确的,但它只返回交换的两个元素,而不是整个x向量: f=@(x)(x([4,1])=x([1,4])) f(x) ans = ad 是否有一种方法可以通过匿名方法使用匿名函数来实现所需的行为?可以使用匿名函数以这种方式交换几个元素吗? 我可以创建一个索引向量:f=@(x)x([4,2,3,1,5]),但是动态创建这样的向量也可能会占用很多字节。

10
几个基数,但不是相同数字的两倍
输入值 一个非空的正整数数组。 任务 将每个整数转换为二进制,八进制,十进制或十六进制,以使每个数字(0至F)最多使用一次。 输出量 用于解决难题的基础列表。 详细的例子 对于预期的输出[16,17]是[八进制,十进制]。 原因如下: 我们不能简单地对两个数字都使用十进制,因为它们都包含1。 16无法转换为二进制,因为它在此基数(10000)中的表示包含多个0。 17也不能转换为二进制,因为它在此基数(10001)中的表示包含几个0和几个1。 17不能转换为十六进制,因为它在此基数(11)中的表示由两个1组成。 让我们考虑所有剩余的可能性: +---------+---------+--------+ | oct(16) | dec(16) | hex(16)| | = 20 | = 16 | = 10 | +--------------+---------+---------+--------+ | oct(17) = 21 | 20,21 | 16,21 | 10,21 | | dec(17) = 17 | 20,17 | …

9
加入房间
所以,这里有一张地牢的地图... ########## # ##### # ##### ########## ########## ########## ########## #### ## #### ## ########## 假设英雄在房间A(在左上方)中,而他们的目标(王子在遇难中?)在房间B(在右下方)中。我们的地图不允许英雄前进到他们的目标。 我们需要增加一条通道... ########## # ##### # ##### ####.##### ####.##### ####.##### ####.##### #### ## #### ## ########## 在那里,好多了! 规则 接受地牢图(由散列和空格组成,行由换行符分隔的程序或函数)。 它将输出一个地图,该地图上添加了点,以表示在空格字符之间的直接路径上的所有空格中的段落。 它不会更改行长或行数。 通道都是从空间到空间的直线。 通道不能转弯 它们不会在空间和地图边缘之间。 使用任何语言。 尝试以最少的字节数执行转换。 如果无法绘制通道,请返回地图,保持不变。 贴图的所有边缘都应始终具有哈希值(您无需在边缘处处理空格)。 输入地图始终为矩形,每行宽度应相同。 测试用例 #### #### # # => …

10
素数编码
编码如何工作 给定一个位列表: 拿一个素数(以开头2) 有清单 对于输入中的每一位 如果与上一位相同,则将您持有的素数添加到列表中 如果不同,请按住下一个素数并将其添加到列表中 返回列表中所有数字的乘积 对于第一位,假设前一位是 0 注意:这些步骤仅用于说明目的,您无需执行这些步骤。 例子 Input: 001 hold 2 0: add 2 to the list 0: add 2 to the list 1: hold 3, add 3 to the list list: 2,2,3 Output: 12 Input: 1101 hold 2 1: hold 3, add 3 to …

10
输出数字,或多或少
挑战 给定由<和组成的输入字符串(或数组)>,输出整数序列(数组或字符串),使得: 在输出中的连续数字之间按顺序应用时,运算符都是正确的 所有整数均为正数(1或更大) 整数之和在数学上尽可能小 输入可以变化,以匹配所选语言中的“大于”和“小于”。 作为替代输出,只需指定输出中数字的总和即可。在“答案”标题中说明要解决的版本。 通常适用排除规则,以最小的字节数为准。 您可以假设输入字符串将永远不会导致您的语言出现整数溢出,如果有帮助的话。 例子 >使2 1该款项3 >>>使4 3 2 1该款项10 ><使2 1 2该款项5 使1该款项1 >>>>>>>>>使10 9 8 7 6 5 4 3 2 1该款项55 >><<>><>>>使3 2 1 2 3 2 1 4 3 2 1该款项24 ><>><>><>使2 1 3 2 1 3 2 1 2 …

21
这是楼梯号码吗?
挑战: 检查给定数量的形成number staircase与否 输入: 整数(大于0而不是十进制)。注意:您可以将输入作为字符串,数字数组。 输出: 真/假值,具体取决于数字是否形成阶梯 数字楼梯: 一数楼梯的是,从左向右读时的整数: 从1开始 随后可能是2 随后可能是3 直到 n 然后数字从n-1开始下降 然后n-2 然后n-3 依此类推,直到达到1 注意 : 的可以是部分被用于表明,如果长度>大于1如果它是顺序必须遵循原样。即:12321 范例: 12321 ---> true 12345654321 ---> true 9 ---> false 1 ---> true 2 ---> false 123421 ---> false 112312318901323 ---> false 123456789101110987654321 ---> true 注意 : 给定的输入将始终是大于0的整数,并且不是十进制。您的输出必须是一个truthy or …

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.