编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

6
高尔夫溶解度表
给定阳离子和阴离子的名称,输出“ S”(可溶)或“ I”(不溶)。我们将使用的表来自维基百科:https : //en.wikipedia.org/wiki/Solubility_chart。将其复制到问题的末尾以备将来参考。 输入:阳离子,后跟阴离子,并用空格分隔。阳离子将是以下之一: Lithium Sodium Potassium Ammonium Beryllium Magnesium Calcium Strontium Barium Zinc Iron(II) Copper(II) Aluminium Iron(III) Lead(II) Silver 阴离子将是以下之一: Fluoride Chloride Bromide Iodide Carbonate Chlorate Hydroxide Cyanide Cyanate Thiocyanate Nitrate Oxide Phosphate Sulfate Dichromate 每个字母的首字母大写。 输入示例: Sodium Chloride 输出:真实值,S如果可溶,假或I其他,则为或。如果维基百科页面上列出了其他任何内容(例如,微溶或与水反应),或者输入内容不是“阳离子阴离子”形式,则您的程序可能会执行任何操作(未定义的行为),因此可能会输出“ S”,“我,或其他。 表: ?,S,S,S,?,S,S,S,?,S,S,?,I,S,S S,S,S,S,S,S,S,S,S,S,S,?,S,S,S S,S,S,S,S,S,S,S,S,S,S,?,S,S,S S,S,S,S,S,S,S,S,?,S,S,?,S,S,S S,S,S,?,?,?,?,?,?,?,S,?,?,S,? …

11
Codegolf Rainbow:整数数组的乐趣
介绍: (来源:Wikipedia) 当我们看着彩虹时,它将始终具有从上到下的颜色 。橙子; 黄色; 绿色; 蓝色; 靛青; 紫色 如果我们看这些单独的环,红色环当然要比紫色环大。 另外,也可以同时有两个甚至三个彩虹。 以上所有这些结合将用于此挑战: 挑战: 给定一列大小为7的整数,其中每个值表示可用于形成彩虹的颜色粒子(其中最大的索引表示红色,最小的索引表示紫色),输出可以形成的彩虹数量。 单个整数彩虹必须至少具有3x紫色,4x靛蓝,5x蓝色,6x绿色,7x黄色,8x橙色,9x红色。它上方的第二条彩虹甚至比第一条彩虹的红色环大(包括它们之间的一个空格),因此它将至少需要11x紫色,12x靛蓝,13x蓝色,14x绿色,15x黄色,16x橙色,除了第一个彩虹使用的颜色外,还有17x红色。第三条彩虹将再次以19倍紫罗兰色开始。 例: 输入列表:[15,20,18,33,24,29,41] 输出:2 为什么?我们有15倍紫罗兰色,两条彩虹至少需要3 + 11 = 14。我们有20个靛蓝,两条彩虹至少需要4 + 12 = 16。等等。我们有足够的颜色可容纳两个彩虹,但不足以形成三个彩虹,因此输出为2。 挑战规则: 输入数组中的整数保证为非负数(>= 0)。 确保输入列表的大小恰好为7。 当无法形成彩虹时,我们输出0。 输入和输出格式灵活。可以是十进制整数的列表或数组,可以从STDIN中获取。输出可以是任何合理输出类型的函数返回,也可以直接打印到STDOUT。 n彩虹数量所需的最小颜色数量: Amount of Rainbows Minimum amount per color 0 [0,0,0,0,0,0,0] 1 [3,4,5,6,7,8,9] 2 [14,16,18,20,22,24,26] 3 [33,36,39,42,45,48,51] 4 …

17
Codegolf Rainbow:黑白画
介绍: (来源:Wikipedia) 当我们看着彩虹时,它将始终具有从上到下的颜色 。橙子; 黄色; 绿色; 蓝色; 靛青; 紫色 如果我们看这些单独的环,红色环当然要比紫色环大。 另外,也可以同时有两个甚至三个彩虹。 以上所有这些结合将用于此挑战: 挑战: 给定一个integer n,输出很多(可能不止一个)“彩虹”的圆环,在这里我们将使用字母vibgyor作为颜色。 请参阅下面的测试用例,以了解如何从向上构建它们n=1,以及如何处理间距(在处n=8)。如您所见,在我们在一行中添加下一个彩虹的环之前,在两个彩虹之间添加了一个空格,包括顶部的间距。 挑战规则: 您可以使用大写VIBGYOR字母而不是小写字母 各个彩虹之间应该有一个间隔 只要实际的彩虹(放置在屏幕上的任何位置)正确,就可以使用任何数量的前导和/或尾随空格/换行符 输入将始终为正整数(>= 1)。n=0因此,何时的行为是不确定的,并且程序/函数可以执行任何所需的操作(不输出任何内容;输出彩虹n=1;随机输出;由于错误而失败等)。 如果需要,您可以输出字符串列表/数组或2D数组/字符列表(可以在TIO页脚中添加实际的漂亮打印代码)。 忽略输出看起来更像玛雅神庙而不是彩虹的事实。xD 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接。 另外,强烈建议为您的答案添加说明。 测试用例(n=1从头到尾n=10,和n=25): 1: vvv v v 2: iii ivvvi iv vi 3: bbb biiib bivvvib biv vib 4: …

14
奈史密斯法则
奈史密斯的规则有助于计算出步行或徒步旅行所需的时间长度(考虑到距离和上升情况)。 给定沿路径平均间隔的点处的高度的非空列表以及该路径的总距离(以米为单位),您应该根据奈史密斯规则计算所需的时间。 奈史密斯(Naismith)的规则是,每五公里应该允许一个小时,而每上升600米,则需要增加一个小时。 输入必须以米为单位,保证由非负整数组成,并且输出应始终为小时或分钟(但不能同时为两者),并且在适用的情况下必须能够提供十进制数字(浮点数可以确定) 。 例如,给定: [100, 200, 400, 200, 700, 400], 5000 对于前两个元素,[100, 200]您有100米的上升路程,即10分钟。在[200, 400]您有200米的上升距离(即20分钟)的情况下,[400, 200]它不会上升,因此不会为此增加时间。[200, 700]是500米的上升,这是50分钟,最后[700, 400]没有上升。五公里的距离增加了一个小时。总计140分钟或2.333 ...小时。 测试用例 [0, 600] 2500 -> 1.5 OR 90 [100, 200, 300, 0, 100, 200, 300] 10000 -> 2.8333... OR 170 [40, 5, 35] 1000 -> 0.25 OR 15 [604] 5000 …
12 code-golf  number 

7
给定N,输出['A','B','AB','C','D','CD','ABCD','E',...]的第n个元素?
考虑以下列表: expected = [ 'A', 'B', 'AB', 'C', 'D', 'CD', 'ABCD', 'E', 'F', 'EF', 'G', 'H', 'GH', 'EFGH', 'ABCDEFGH', 'I', 'J', 'IJ', 'K', 'L', 'KL', 'IJKL', 'M', 'N', 'MN', 'O', 'P', 'OP', 'MNOP', 'IJKLMNOP', 'ABCDEFGHIJKLMNOP', ... ] 这是一种看待它的方法-您正在学习如何写汉字,并且想要学习越来越大的汉字,并随身进行练习。您从A开始,然后与B一起,然后已经有一个成对的两个序列,因此可以将其组合。然后,您选择C和D,再配对,然后练习。然后您进行排练:ABCD。然后,E到H相同,然后进行排练:ABCDEFGH。列表是无限的。 目标是生成并打印出此列表的第n个元素,索引从零开始递增。假设在“ Z”之后,您再次得到“ A”。 获胜标准是源代码长度。

10
高尔夫图释
介绍 你今日(启发挑战这一挑战)是写了一些片段,功能或完整程序的每个输出的各种ASCII表情的,不重复使用的字符。 挑战 此挑战的有效ascii表情符号列表在此处以及本文底部的代码块中。 每个摘要应在您提交的文件中单独放置一行。 您只能对所有摘要使用一种语言。 每个代码段都必须输出到stdout或返回一个字符串,其中包含表情符号和可选的尾随新行,而没有其他内容。 您不能在所有代码片段中多次使用任何字符,但是可以在一个代码片段中多次使用一个字符。 您不得在任何代码段中使用不在语言代码页中的任何字符(如果您的语言未使用自定义代码页,则不得使用ascii)。换句话说,您只能使用一个字节编码的字符。 任何代码段都不能接受任何输入。 不允许出现标准漏洞。 您的分数就是在上面的文本文件中每个单独打印不同的ascii表情符号的唯一代码片段的数量。 最高分获胜! 祝好运! 允许的图释,以空格分隔: :-) :) :-] :] :-3 :3 :-> :> 8-) 8) :-} :} :o) :c) :^) =] =) :-D :D 8-D 8D x-D xD X-D XD =D =3 B^D :-)) :-( :( :-c :c :-< :< …

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 

14
对警察和强盗(强盗)进行硬编码
这是警察和强盗的挑战。警察应对这一挑战的思路在这里 需要考虑的一个有趣问题是: 如果我有一个数字序列,那么在清楚我在说什么序列之前,我必须提供几个数字? 例如,如果我想谈的正整数,以便从开始,我可以说,1 ,2 ,3 ,......,但事实是否真的足够了吗?1个111 ,2 ,3 ,...1,2,3,…1,2,3, \dots 我有一个回答这个问题的方法,并且是一名代码窃贼,它涉及代码高尔夫球。如果产生这些术语的最短代码产生了序列的所有术语,则您已提供了足够的序列术语。如果我们以代码高尔夫的方式来考虑这一点,那意味着您已经提供了足够的测试用例,从而使通过测试用例的最短代码可以完成所需的任务。 挑战 这个挑战是警察和强盗的挑战。警察将在其中展示测试用例,强盗将不得不寻找一种比预期序列更短的欺骗测试用例的方法。警察将提出以下内容: 一段代码,将一个正整数作为输入并产生一个整数作为输出。该代码可以是零或一个索引,但是应该清楚什么是索引。此代码将定义您的顺序。 任何可能影响输出的相关平台或语言要求,例如longint的大小。 一个数字,以及该代码计算出的序列的前n个项。这些将充当“测试用例”。ñnnñnn 强盗将使用比所介绍的语言短的语言来找到一个程序,并通过所有测试用例(对于前输入产生与警察代码相同的输出)。强盗的代码在输出上也必须与警察的程序有所不同,且必须大于n。ñnnñnn 计分 强盗会根据他们发现的裂缝数量进行评分,裂缝越多越好。可以通过找到比原始裂纹短的有效答案来再次破解答案。如果答案第二次被破解,则将分数给予第二个饼干,而不是第一个。

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 

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.