编程拼图和代码高尔夫

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

30
是半素吗?
令人惊讶的是,我认为我们没有确定数字是否为准素数的代码高尔夫球问题。 半素数是一个自然数,它是两个(不一定是不同的)素数的乘积。 很简单,但是一个非常重要的概念。 给定一个正整数,请确定它是否为半素数。您的输出可以是任何形式,只要它为任何真实或错误值提供相同的输出即可。您可能还假设您的输入足够小,因此性能或溢出都不是问题。 测试用例: input -> output 1 -> false 2 -> false 3 -> false 4 -> true 6 -> true 8 -> false 30 -> false (5 * 3 * 2), note it must be EXACTLY 2 (non-distinct) primes 49 -> true (7 * 7) still technically …

22
这是一个很好的2048板吗?
这是我的第一个问题,因此在评论中提出的任何建议将不胜感激!谢谢 ;) 介绍 2048游戏的一种非常普遍的策略是从不失败。这会将所有大数字放在顶部,将较低的数字放在底部。因此,如果正确应用此策略,则您的开发板将始终符合以下模式: 要检查的模式/您的任务 如果董事会可以这样描述,则您的提交应为完整程序或返回真实值的函数:在董事会的每一列中,第一个数字应为该列的最高值,第二个数字应为较小的值等于或等于第一个数字,以此类推。好的2048板定义为最高编号都位于顶部的板。这是code-golf,所以每种语言的最短Code(以字节为单位)获胜。 输入输出 可以以任何适当的方式获取输入,例如4个数组的数组,每个数组包含4个数字,或者16个数组。总的来说,它将始终是16个数字,代表4x4板 。输出应为真实值,输入应为“ 2048良好板”,否则为假值。 例子 真相: |-------------------| | 16 | | 64 | 8 | |-------------------| | 8 | | 32 | 8 | |-------------------| | 4 | | 32 | 2 | |-------------------| | 2 | | | | |-------------------| |-------------------| | 16 …

24
它是命令词吗?
(此帖子的灵感来自于“ Puzzling”。注意:下面的拼图是令人窒息的。) 标准电话键盘将字母与数字关联如下: 1 -> 2 -> ABC 3 -> DEF 4 -> GHI 5 -> JKL 6 -> MNO 7 -> PQRS 8 -> TUV 9 -> WXYZ 0 -> 如果在使用上述命令将其转换为按键时,给定的输入单词定义为“有序单词”,则该数量为不递减或不递增。换句话说,结果数不能同时增加和减少。 例如,单词CAT翻译为228,它是非递减的,因此是有序单词。但是,单词DOGis 364,它都会增加和减少,因此不是有序单词。 挑战 给定单词,输出是否为有序。 输入项 仅由ASCII字母([A-Z]或任何形式)组成的单词(不一定是词典单词)。[a-z] 您选择输入是全部大写还是全部小写,但必须一致。 该单词的长度至少为3个字符。 输出量 输入的单词是有序(真)还是无序(假)的一致真/假值。 规则 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 这是一些有序单词(即真词),还有更多相关的令人困惑的难题。 CAT …

22
它是弱质素吗?
如果最接近的其他素数小于素数,则素数是弱的。如果有平局,则素数并不弱。 例如73是弱素数,因为71是素数,而75是复合数。 任务 编写一些计算机代码,当输入大于2的质数时,将确定它是否为弱质数。这是一个标准的决策问题,因此您应针对两种情况(例如weak和not weak)分别输出两个唯一值。 这是代码高尔夫球,因此适用标签的标准规则。 信息系统 以下是前47个弱素数: 3, 7, 13, 19, 23, 31, 43, 47, 61, 73, 83, 89, 103, 109, 113, 131, 139, 151, 167, 181, 193, 199, 229, 233, 241, 271, 283, 293, 313, 317, 337, 349, 353, 359, 383, 389, 401, 409, 421, 433, 443, 449, …

3
精瘦的豆子机
向人们介绍离散概率分布概念的经典示例是bean机器。这台机器有大量的大理石从顶部狭窄的通道掉落,然后它们撞到交错的销钉行,在每个销钉处,大理石撞件可能会落到销钉的左侧或右侧。最终,将销钉收集到机器底部的垂直箱中。这台机器的简单图如下所示: | O | | ^ | | ^ ^ | | ^ ^ ^ | | ^ ^ ^ ^ | | ^ ^ ^ ^ ^ | |_|_|_|_|_|_| 在此图中,O表示大理石掉落的位置。每个^都是钉子,大理石在该钉子处有50%的机会移动到钉子左侧或右侧的正方形。然后,大理石聚集在设备底部的垃圾箱中,对于足够多的大理石,垃圾箱中的大理石堆叠高度将类似于离散的二​​项分布。 挑战 对于这一挑战,您将基于上图来计算bean机器的最终概率分布。这些图被解释为大理石通过的二维“程序”,即朝向侧场或当前场下方的场。当弹珠到达机器底部时,它们会被计算为概率分布。为了使它有趣,这些图将包含比简单的源代码和引脚更多的字段。一个示例图是: | O | | ^ | | ^ / | | ^ | ^ | | <^- …

8
A083569:最小的m不会较早出现,因此m + n为质数
定义一个1索引的序列,如下所示: A083569(1) = 1 A083569(n)其中n大于的整数1是较早出现的最小质数m,m+n即素数。 您的任务是接纳n并返回A083569(n)。 n A083569(n) 1 1 2 3 3 2 4 7 5 6 6 5 7 4 8 9 9 8 10 13 11 12 12 11 13 10 14 15 15 14 16 21 17 20 18 19 19 18 20 17 在这里可以找到更多的测试用例。OEIS的原始序列可以在这里找到。 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

30
具有大多数非零元素的行的索引
这很简单:将整数矩阵作为输入,并输出具有最多非零元素的行的索引。您可以假设只有一行具有最多非零的元素。 测试用例: 这些是1索引的,您可以选择是0还是1索引。 1 0 row = 1 --- 0 -1 0 0 row = 1 --- 1 1 0 0 0 0 0 5 0 0 2 3 0 0 0 0 5 6 2 2 row = 4 --- 0 4 1 0 0 0 -6 0 0 …
26 code-golf  matrix 

15
西班牙车牌游戏
这个问题是基于我用西班牙语问的一个问题。是的,我要求使用西班牙语的算法。:) 在西班牙,当前的车牌具有以下模式: 1234 XYZ 其中XYZ是从全套西班牙辅音中选取的三个辅音(我认为“Ñ”除外)。 有时候,和我妻子一起旅行时,我们会玩游戏。当我们看到一个车牌时,我们将其三个辅音词拼成一个单词,其中包含这三个辅音词,其顺序与车牌中的顺序相同。示例(西班牙语): BCD BoCaDo (valid) CaBezaDa (not valid) FTL FaTaL (valid) FLeTar (not valid) FTR FleTaR (valid, wins) caFeTeRa (valid, loses) 如上一个示例所示,获胜者是使用最少字符的人。 挑战 编写最短的程序或函数,该程序或函数接收单词列表和一组三个辅音,并在包含相同顺序的三个辅音的列表中找到最短的单词。就本游戏而言,大小写无关紧要。 单词列表(第一个参数)的输入将是您的语言string类型的数组。第二个参数(三个辅音)将是另一个string。如果对您的语言更好,请string与三个辅音一起放在整个参数列表的最后一项。输出将是另一个string。 单词列表中的单词不会被发明,也不会是无限的单词,它们会出现在任何标准词典中。如果需要限制,请假设单词列表中的单词长度不能超过50个字符。 如果有多个长度相同的单词可能是有效答案,则可以返回其中任何一个。只要确保您只返回一个单词,或者如果没有单词匹配三个辅音的模式,则返回一个空字符串。 您可以在组中重复辅音,因此三个辅音的有效输入均为FLR和GGG。 西班牙辅音与英语完全相同,但加了“Ñ”。元音与重读元音的附加词相同:“áéíóúü”。不会有其他类型的标记,例如“-”或“'”。 您可以假设单词列表和三个辅音的大小写始终相同。 如果要使用西班牙语单词的真实集合来测试算法,则可以从Dropbox下载一百万个单词以上的文件(15.9 MB)。 测试用例 Input: 'psr', {'hola' 'repasar' 'pasarais' 'de' 'caída' 'pequeñísimo' 'agüeros'} Output: 'repasar' Input: 'dsd', …

30
创建一个棋盘格矩阵
以一个正整数n作为输入,并输出一个由1和0组成的n × n棋盘矩阵。 左上角的数字应始终为1。 测试用例: n = 1 1 n = 2 1 0 0 1 n = 3 1 0 1 0 1 0 1 0 1 n = 4 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 输入和输出格式是可选的。接受将矩阵输出为列表列表。

21
按频率分组列表
给定一个整数列表,将最先出现的元素分组,然后再分组第二个,依此类推,直到列表中的每个唯一元素都被分组了一次。 例子: 输入: [1,2,3] 输出: [[1,2,3]] 输入: [1,1,1,2,2,3,3,4,5,6] 输出: [[1],[2,3],[4,5,6]] 输入: [1,1,1,4,5,6,6,6,7,7,8,8,8,8,8,8,8,9,5,6,5,6,5,6,5,6,-56] 输出: [[6, 8],[5],[1],[7],[9,4,-56]] 输入: [] 输出: [] 输入: (empty input) 输出: ERROR/Undefined/Doesn't matter 规则 分组必须从最大频率到最小频率。 分组的内部顺序是任意的(例如,EG示例3可以具有[8,6])。 这是代码高尔夫球,最低字节数获胜。 有关 按频率降序对列表的不同元素进行排序

30
几号?
挑战 奇怪的是,这还没有完成:输出当前日期。 规则 您应遵循的日期格式如下: YYYY-MM-DD 如果月份和日期小于10,则该月份和日期应以零填充。 例如,如果程序在2017年5月24日运行,则应输出 2017-05-24 该日期可以始终为UTC或本地日期。 您必须应对leap年。例如,在leap年中,二月有29天,但在正常年份中有28天。 获奖 以字节为单位的最短代码获胜。
26 code-golf  date 

7
挥旗
像这样一个标志: ----------------------------- | | | | | | |=============+=============| | | | | | | ----------------------------- 和一个数字输入:“波长” 假设波长为5。然后,从头开始沿行每5个字符替换下一个字符a -,\并将其后的所有字符向下移动一行。重复此操作直到结束。您最终得到: -----\ | -----\ | -----\ |===== | -----\ | ====== | ----- | ==+=== | -----\ | ====== | -----\ | ====| -----\ | -----\ | ----- 如果您最终无法沿整个波长移动,则标记结束。保持平直直到结束。 您可以假定所有行的长度均相同,并且顶行和底行全部由-(0x2D)组成,其余字符位于!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~或为空格()。(因此,它的ascii值为x,其中31 < x …

8
呃,我在哪里?
不好了!我被困在一个大森林里(好吧,不是真的,只是假设一下),我不知道我在哪里! 幸好我带了笔记本电脑。但是,当我搜索“地图”时,它说“没有结果”,我是最后一招。 请制作一个以任何两个数字格式输出我的位置的经度和纬度的程序。any two number format包括: 一个元组。 包含经度和纬度的字符串。 JSON对象。 等等.. 可以使用任何API或库。也就是说,您可以查询Google Maps等。(我想,他们并没有废弃他们的API:\)
26 code-golf 

30
我的号码多久?
挑战 给定一个整数,Q范围为-(2^100) ≤ Q ≤ 2^100,输出该数字的位数(以10为底)。 规则 是的,您可以将数字作为字符串并找到其长度。 允许所有数学函数。 您可以使用任何底数作为输入,但是输出必须是以10为底的数字的长度。 不要将负号计为负数。该数字永远不会有小数点。 零可以是一位或零位。 假设输入将始终是有效整数。 例子 Input > Output -45 > 2 12548026 > 8 33107638153846291829 > 20 -20000 > 5 0 > 1 or 0 获奖 以字节为单位的最短代码获胜。

9
GCD / LCM多色!
您面临的挑战是制作一个程序或函数,以一种语言输出其输入的GCD并以另一种语言输出其输入的LCM。允许但不鼓励使用GCD或LCM(我在看着您,Mathematica)的内建函数。将有2个输入,这些输入将始终为正整数,且不得大于1000。 测试用例 每行是一个测试用例,格式为x y => GCD(x,y) LCM(x,y): 1 1 => 1 1 1 2 => 1 2 4 1 => 1 4 3 4 => 1 12 7 5 => 1 35 18 15 => 3 90 23 23 => 23 23 999 1000 => 1 999000 1000 999 => …

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.