编程拼图和代码高尔夫

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

24
最大递归深度
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 2年前关闭。 您的语言是否具有最大递归深度(MRD)? 假设您的语言的MRD = 500 编写代码以找到递归深度并输出精确值 对于上述情况,您的程序(或函数)应输出500 打高尔夫球 最短答案胜出!
15 code-golf 

8
生成看不见的数字
假设子字符串是原始字符串的任何连续部分。例如cat是的子字符串concatenate。我们将说适当的子字符串是不等于原始字符串的子字符串。例如,concatenate是一个子串,concatenate但不是正确的子串。(单个字符串没有正确的子字符串) 现在,我们将使用这些术语定义一个序列。此序列中的第n个术语将是最小的数字,以使其二进制表示形式存在适当的子字符串,而不是该序列中任何较早术语的子字符串。第一项是10。 作为练习,让我们生成前5个项。我将使用二进制文件来简化事情。 第一项是10。由于11,下一个最小的数字只有一个适当的子字符串,1它也是的子字符串10,11不在序列中。 100但是确实包含适当的子字符串00,而不是的子字符串,10因此100我们的下一个术语也是如此。下一步是101包含01将其添加到序列中的唯一正确子字符串,然后110包含11是新的将其添加到序列中的正确子字符串。 现在我们有 10, 100, 101, 110 111接下来是,但它仅包含子字符串1,11而不是一个术语。 1000但是包含000将其添加到序列中。 这是十进制中的前几个术语 2, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, …

9
L€CH€$!D€AṬHỊṢOOṄ!(长度映射)
标题是有效的果冻代码,其输出与L€€打印两次相同,输出相同。 背景 您可以跳过本节而不会失去完成挑战的能力 Jelly中的某些操作会在应用操作之前先尝试将其参数转换为列表。一个例子是€,映射快捷。有时这会导致意外的输出。 对于程序L€和输入5,Jelly解释器尝试查找列表5的每个元素的长度。由于5不是列表,因此Jelly将其转换为列表[1,2,3,4,5]。然后输出每个元素的长度:[1,1,1,1,1]。请注意,每个整数都有length 1。如果10存在例如,它将变成1,而不是2(以数字为单位的长度)。 对于程序L€€和输入5,Jelly解释器尝试查找列表5中每个元素的每个元素的长度。由于5不是列表,Jelly将其转换为list [1,2,3,4,5]。现在,解释器尝试查找列表中每个元素的每个元素的长度[1,2,3,4,5]。每个元素都不是一个列表,因此Jelly以相同的方式将它们转换为列表[[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]。每个子元素的长度输出为[[1],[1,1],[1,1,1],[1,1,1,1],[1,1,1,1,1]] 任务 您的任务是找到Jelly程序的输出,L然后查找€重复的a输入b,输入为,其中a和b是等于程序/函数输入的正整数。 一种方法是: 从input开始b,执行以下a次数: 对于程序看到的每个整数,将其替换为整数范围(其中range(x) := [1,2,3,...,x-1,x]) 最后,将每个整数替换为1。 测试用例 a b output - - - - - 1 1 [1] - - - - - 1 2 [1, 1] - - - - - 1 3 [1, 1, 1] - - - …


6
查找最长的连续数字
简单的挑战:给定一系列正整数,找到数字中包含最长连续数字的数字。俩?允许运行中的数字环绕可能的值(0123456789)并向后运行。因此2345,89012和和5432109都是连续数字的有效游程(但3456765也不行,321090123因为游程必须始终在同一方向,尽管3456765可以将其视为两个游程:34567和765)。如果是平局,则返回第一个。 测试用例: Input: [3274569283, 387652323, 23987654323648, 2345687913624] Output: 23987654323648 (The run is 98765432; run length: 8) Input: [123012363672023, 098761766325432, 15890123456765] Output: 15890123456765 (The run is 8901234567; run length: 10) Input: [43, 19, 456] Output: 456 Input: [5, 9, 0] Output: 5 Input: [71232107, 7012347] Output: 7012347 Input: [1234, 32109876] Output: …

24
过滤掉伪元素!
我们定义一个数组/(数字列表)的超平均数为其前缀之和的算术平均值。 例如,[1, 4, -3, 10]以以下方式计算列表的超平均: 我们得到前缀:[1], [1, 4], [1, 4, -3], [1, 4, -3, 10]。 总计:[1, 5, 2, 12]。 现在获取此列表中元素的算术平均值:(1 + 5 + 2 + 12) / 4 = 5。 甲伪元件的阵列的是一种元素,其值是严格比其超平均水平。因此,我们的例子名单的伪元素1,4和-3。 给定一个浮点数列表,您的任务是返回伪元素列表。 您不必担心浮点数错误。 输入列表永远不会为空,并且可能包含整数和浮点数。如果提及,则整数可以视为浮点数(带有<integer>.0) 您可能会认为数字适合您选择的语言,但请不要以任何方式滥用它。 (可选)您也可以将数组的长度作为输入。 这是代码高尔夫球,因此适用标记的标准规则。以字节为单位的最短代码(每种语言)获胜! 测试用例 输入->输出 [10.3]-> [] [5.4,5.9]-> [5.4,5.9] [1,4,-3,10]-> [1,4,-3] [-300,-20.9,1000]-> [-300,-20.9] [3.3、3.3、3.3、3.3]-> [3.3、3.3、3.3、3.3] [-289.93,912.3,-819.39,1000]-> …

12
十进制的AZ,您知道吗?
作为我先前挑战的跟进,单词数达到20!,我们将再次使用该挑战中的单词列表来执行其他任务。这次,您将专门使用: https://github.com/魔术八爪鱼缸/wordListsByLength/blob/master/10.txt 要选择26个不同的单词,每个单词都以一个唯一的字母开头,并按从A到Z的升序输出。这是一个有效的示例: aardwolves babbitting caravaning debilitate evaporator fantasized geographer hawfinches imbecility juvenility kalanchoes lamaseries malodorous nudibranch oligophagy pantywaist quarreling russetting scantiness teetotaler undercount voodooisms wentletrap xenophobic yeomanries zwitterion 这是一个阿德沃夫,这是一种蜡嘴鸟,这是一个长寿,这是一个裸鳃亚目和海蛳螺科。 规则 不能直接从存储库中读取内容,也不能发现任何其他漏洞。 您可以从链接中选择任何26个单词。 您选择单词,这些是您的程序每次应输出的单词。 必须选择一个以以下每个字母开头的单词: [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, …

4
制作Minecraft制作表
当您不记得如何在Minecraft中制作东西时,您不讨厌它吗?好了,该纠正一下了! 任务 您的任务是输入一个1D或2D列表,并输出制作表的结果是什么! 输入值 您可以将输入作为字符串或长度列表9或2D嵌套数组。 如果您将输入作为... 串 表格中的每个项目均以可打印ASCII字符(0x20至0x7E)为1个字符。为了表示一个空白空间,您可以使用,-例如,WWW-W-WWW将其与手工制作的表格相同 +------+------+------+ | Wood | Wood | Wood | +------+------+------+ | | Wood | | +------+------+------+ | Wood | Wood | Wood | +------+------+------+ 您也可以将输入作为多行字符串,只要保留所有空格,例如 WWW W WWW 一维阵列 您将输入作为一个char数组,其中手工制作表上的空白将是一个空char,例如,上表将是 ['W','W','W','','W','','W','W','W'] 2D阵列 这次,每个列表代表工艺表上的一行,其中空白是一个空字符,例如 [['W','W','W'],['','W',''],['W','W','W']] 您可以假设输入将始终对应于可以制作的商品,并且如果使用数组输入,则可以将空字符替换为任何不用作缩写名称的字符。 输出量 只要是很明显的含义,输出就是您想要的任何形式的输入内容。(个人而言,我将使用我的1个字母的缩写) 配料 对于这个挑战,wood是指木板,而不是木原木。 制作时,您只需要处理最常见的物品。这些是制作的成分,但也可能是制作的产品。制作配方遵循xxxxxxxxx上面的字符串输入格式。如果无法制作物品,---------则放置物品。 有些食谱是不定型的,这意味着只要所有物品都在那,就可以制作出该物品。这些表示为*。这方面的一个例子是,pumpkin pie(在这个挑战不是一个),仅需要pumpkin,sugar并egg作出。 item …

30
受限制的迷你挑战强盗线程
警察线 作为强盗,您的任务是找到警察解决方案,并使用提供的语言编写程序,该程序仅使用提供的集合中的字节来计算序列的第n个项。 目标是破解尽可能多的警察答案。每次破解都会给您一点积分。 只要裂缝有效,就不必是警察的预期解决方案。

22
实施空白高尔夫球手
某些二维esolang(例如Forked)和某些非eolang(例如Python)有时可能在代码行之前需要空格。这不是高尔夫运动。另外,我很懒,在编写2d lang之前需要很多空格。您的任务是编写一个使这些语言更具特色的工具。 当然,这不是完美的。例如,当数字是源代码行中的第一个字符时,就不能使用它。但是,它通常是有用的。 挑战 您将编写一个程序或函数,该程序或函数可以... ...采用一个参数,文件名或字符串,或者... ...从标准输入中读取。 您的程序的行为类似于cat,除了: 如果任一行的第一个字符是数字,则您的代码将打印x个空格,其中x是该数字。 否则,将仅打印它。 输入中的所有其他字符也一样。 测试用例 输入: foo bar foo bar 1foo bar foo bar foo bar 2foo bar foo bar foo bar foo bar 输出: foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar …

4
和平共处的军队
在国际象棋游戏中,有一个称为“皇后”的棋子可以攻击同一行,同一列或对角线上的任何其他棋子。在国际象棋中通常有黑白两面,每一面都属于其中一队。棋子可能不属于同一支球队。 您的目标是为方形板找出最大的和平共处军队。那是黑色和白色皇后可以装在板上的最大数量,因此没有两个女王可以互相攻击,黑色皇后的数量等于白色皇后的数量。 作为输入,您将收到一个方形板的边长,并应输出可以容纳在该板上的最大的和平共存军队的人数。 这是代码高尔夫球,因此适用标签的标准规则。 OEIS A250000 这些测试用例涵盖了所有已知答案。您的解决方案应该是一个广义的答案,只要有足够的计算能力和时间,就可以为任何输入值计算解决方案。 1:0 2:0 3:1 4:2 5:4 6:5 7:7 8:9 9:12 10:14 11:17 12:21 13:24
15 code-golf  chess 

23
我吃过午饭了吗?
你喜欢午餐。但是,您正在节食,并希望确保自己一天之内不吃午餐两次。因此,您需要制作一个程序来帮助您确定。 但是,一个复杂的问题是您吃午餐的时间很奇怪。午餐时间为MONTH:DAY PM(您可以使用UTC或本地化时区)。没错,如果一天是7月14日,那么您将在7:14 PM吃午餐。 对于您的程序,您需要使用当前日期和时间(不要输入),并且如果您当天已经吃过午餐(或者现在是午餐时间),则需要输出一致的真实值,或者输出一致的虚假值。如果还没有。 示例:(运行程序的时间=>输出) 5月4日上午11:35 =>否(您将在5:04 PM吃午餐) 6月3日下午5:45 =>否(您将在6:03 PM吃午餐) 7月28日晚上8:30 =>正确(您在晚上7:28吃了午餐) 12月15日下午3:25 =>正确(您在12:15 PM吃了午餐) 2月29日下午2:29 =>正确(恰好是午餐时间) 10月12日12:00 AM =>否(一天刚刚开始) 参考: 12小时制的工作原理
15 code-golf  date 

6
让我们做一个三角形
大多数人都熟悉Pascal的三角形。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 帕斯卡(Pascal)的三角形是一个自动机,其中单元格的值是左上角和右上角的单元格之和。现在我们将定义一个相似的三角形。不仅将单元格带到左上角和右上角,我们还将沿延伸到左上角和右上角的两条无限线来获取所有单元格。就像Pascal的三角形一样,我们从一个1零开始无限填充,然后从那里向下构建。 例如,计算用 x 1 1 1 2 2 2 4 5 5 4 x 我们将对以下单元格求和 . . . 2 . 2 . 5 5 . x 制作我们的新细胞14。 任务 给定一个行号(n),然后计算距左数(r)的距离,并在第n行上从左数计算第r个非零项。(在Pascal三角形上的等效值为nCr)。您可以假设r小于n。 这是代码高尔夫球场,我们的目标是尽量减少解决方案中的字节数。 测试用例 0,0 -> 1 …
15 code-golf  math 

10
最小运营至100
总览 给定一个数字列表,找到最少的运算使100 输入值 一串数字,可以是数字顺序,也可以不是数字顺序。数字的顺序不能更改,但是可以在每个数字之间加上加号(+)或减号(-),以便总和等于100。 输出量 添加的运算符数量,其后是数字和运算符的完整序列。两者可以用空格,制表符或换行符分隔。 例子 有效 输入:123456789 输出:3 123–45–67+89 无效的 输入:123456789 输出:( 6 1+2+34-5+67-8+9 有一些方法可以减少操作次数)

22
将一个数字分配到一个尽可能相等的值列表中,其总和等于该数字
可能是一个简单的代码挑战。给定2个正整数m和n,给出一个n值列表,这些值是总和等于数字的正整数m。输出中的所有值都是相同的值,或者差值恰好是1。 例子 例如 m=6并n=3成为2, 2, 2 m=7并且n=3将成为2, 2, 3或2, 3, 2或 3, 2, 2 m=7并n=2成为3, 4或4, 3 m=7并n=1成为7 m=7并n=8会产生错误,因为8个正整数之和不能为7。 m=10并且n=4将成为3, 3, 2, 2或任何其他排列 规则 输入和输出都仅是正整数。 输出中的所有值都是相同的值,或者差值恰好是1。 列表中值的顺序并不重要。 列表中值的总和等于m。 如果无法解决,则生成错误或错误值(例如,在m = 7和n = 8的情况下)。 由于其他规则,m=8并且n=3会生成3, 3, 2(not 2, 2, 4)的任何排列 获胜者,冠军 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。
15 code-golf  number 

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.