编程拼图和代码高尔夫

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

22
排序攀登成绩
我的第一个代码高尔夫球场,对任何错误表示歉意... 语境 在攀岩(特别是抱石)中,V / Vermin(美国)攀爬等级从“ VB”(最简单的等级)开始,然后是“ V0”,“ V0 +”,“ V1”,“ V2”,“ V3” ,“ V4”,“ V5”等,直至“ V17”(最难的等级)。 任务 您将输入一个爬坡等级的列表/数组,并且必须返回或打印从最简单到最困难的爬坡等级的列表/数组。 如果输入为空,则返回一个空的数据结构;否则为0。否则,输入将始终是有效的。 测试用例 Input | Output [] | [] ['V1'] | ['V1'] ['V7', 'V12', 'V1'] | ['V1', 'V7', 'V12'] ['V13', 'V14', 'VB', 'V0'] | ['VB', 'V0', 'V13', 'V14'] ['V0+', 'V0', 'V16', 'V2', 'VB', …

12
我爱沙丁鱼
我喜欢沙丁鱼,我吃不完,所以我的计算机Omnilang 5000也是如此,它与语言无关。 为了让我的计算机体验沙丁鱼的乐趣,我决定向他提供许多程序,这些程序可以在屏幕上以各种方向显示沙丁鱼罐头,并最多显示十个沙丁鱼。 在此挑战中,您将负责根据以下参数创建程序: 输入 一个数字(介于0到10之间)和以下“ LR”之一的字母(分别表示“左”或“右”),例如:3L或5R;如何将此输入到程序中取决于您。 输出量 打开的沙丁鱼罐头,沙丁鱼面朝指示的方向,其键(用“ %”字符表示)和去皮的盖子(用“ @”字符表示的末端卷起锡)位于锡的顶部。 所有沙丁鱼必须面向输入所指示的方向。 所有沙丁鱼的bodies体(“ )”或“ (”)与尾巴“ ><” 之间将有五个字符长的身体。 钥匙和去皮的盖卷将始终与沙丁鱼相反。 锡必须具有3-D外观,如下例所示。 锡的最小高度为3个沙丁鱼。因此,如果数字小于3,则必须显示锡罐高度为3的沙丁鱼,并在其中输入沙丁鱼的数量。否则,锡必须是输入中指示的高沙丁鱼数量。因此,输入0R或0L将显示一个空的沙丁鱼罐头。 其他无法验证的输入将不会显示任何内容。 例如,对于“ 3L” __________ (__________@% |<*)_____><|| |<*)_____><|| |<*)_____><|| '=========='' 对于“ 7R” __________ %@__________) ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ''==========' 对于“ 2L” __________ (__________@% |<*)_____><|| |<*)_____><|| | || '=========='' …

30
我的条形码有效吗?
的EAN-8条码包括的信息和第八校验和数字7位数字。 通过将数字分别乘以3和1,将结果相加,然后从下一个10的倍数中减去,来计算校验和。 例如,给定数字2103498: Digit: 2 1 0 3 4 9 8 Multiplier: 3 1 3 1 3 1 3 Result: 6 1 0 3 12 9 24 这些结果数字的总和为55,所以校验和数字为60-55 = 5 挑战 给定一个8位条形码,您的任务是验证它是否有效-如果校验和有效,则返回真实值,否则返回false。 您可以采用以下任何形式的输入: 长度为8个字符的字符串,代表条形码数字 8个整数的列表,条形码的数字 一个非负整数(您可以假设前导零而不给出任何前导零,即1= 00000001,或请求输入中给出零) 禁止计算EAN-8校验和的内置函数(即,使用前7位数字并计算最后7位数字)。 这是代码高尔夫球,因此最短的程序(以字节为单位)获胜! 测试用例 20378240 -> True 33765129 -> True 77234575 -> True 00000000 …

15
我需要多少法力?
Dungeon Master是有史以来最早的实时角色扮演游戏之一,最初于1987年在Atari ST上发布。在当时其他令人兴奋的事情中,它提供了一个基于符文的相当复杂的咒语系统。 今天的任务是编写一个程序或函数,以评估在Dungeon Master中施放给定咒语所需的法力点数。 上图右上方的青色框是“拼写”系统。 法术,符文和法力 地下城主法术由2至4个符文组成,并按照以下顺序从以下类别中进行选择: 功率(强制性) 元素影响力(强制性) 表格(可选) 类/对齐(可选) 这意味着有效的咒语是: 力量+元素影响 力量+元素影响力+形式 力量+元素影响力+形式+阶级/阵线 每个类别包含6个符文,每个符文都有一个相关的基础法力消耗: ============================================================================= | Power | Rune | Lo | Um | On | Ee | Pal | Mon | | +-----------+------+------+------+------+------+------+ | | Base cost | 1 | 2 | 3 | 4 | …

10
马丁vs丹尼斯-第一轮:谁的代表更多?
我知道关于“世界上最好的两个代码高尔夫球手”存在很多挑战,但这是一个更加独特的问题,它是涉及其中两个的一系列(未来)挑战中的第一回合。 您的任务是编写一个程序或函数,以在Dennis和Martin Ender之间返回两个不同的非空白ASCII字符串,这些字符串与运行该程序时享有较高声誉的字符串相对应。棘手的部分是,如果信誉相同(不太可能),则必须输出精确的字符串“ tie”,并且上述两个不同的非空白ASCII字符串应与“ tie” *不同。 不能接受任何输入,例如用户名或用户ID。与往常一样,URL缩短器是被禁止的,常见的漏洞也是被禁止的。 例子: Let the chosen string for Dennis be "D" and the chosen one for Martin Ender be "M" (should be specified) If Dennis' rep > Martin Ender's rep => D If it's the other way around => M If it's a tie => …

30
受限制的迷你挑战警察的线程
强盗的线 作为警察的任务是选择三件事: 一种编程语言 OEIS序列 字节集 然后,您将以该语言秘密编写一个程序,该程序仅使用集合中的字节来计算第n个术语序列。您将揭示三段信息,以便强盗可以尝试找出该程序。 答案将根据字节集中的字节数进行评分,得分越高越好。破解的答案的自动评分为0。如果您在一周后未破解答案,则可以显示预期的程序并将答案标记为“安全”。 答案必须能够计算序列b文件中的每个术语,但不需要在之后计算任何术语。 警察和强盗的序列可以为1或0索引。 这是一个Python脚本,用于检查您的代码是否匹配给定的字节集。

13
生日快乐,拉斐尔·塞科(Raffaele Cecco)!
拉斐尔切科是谁制作了一个程序员的一些的最好的视频游戏为ZX频谱在八十年代末计算机。他开发了广受赞誉的Cyber​​noid和Exolon。 Raffaele 将于2017年5月10日满50岁。挑战对他是微不足道的,对于我们许多人度过了那些精彩的游戏所带来的欢乐时光,以及他们带来的动力。 挑战 目的是产生一个矩形的字幕,该字幕的灵感来自Cyber​​noid 主菜单屏幕,但采用ASCII艺术。 具体来说,将显示字符串"Happy birthday Raffaele Cecco "(注意最终空间)沿12×5矩形的边缘旋转,并且快照之间的暂停时间恒定。 例如,假设文本按顺时针方向显示并逆时针旋转(请参见下面的选项),则这是矩形选框的三个连续快照: Happy birthd a o y c ceC eleaffaR 然后 appy birthda H y o R cceC eleaffa 然后 ppy birthday a H R a occeC eleaff 等等。 规则 没有输入。输出将通过STDOUT或等效输出,或在图形窗口中。 输出实际上应该描述旋转的文本。也就是说,每个新快照都应覆盖前一个快照,以给人留下动感的印象。这可以通过任何方式完成,例如,编写适当数量的换行符以有效清除屏幕。如果这仅对给定的屏幕尺寸有效,则可以接受;只需在答案中指定即可。 接受以下选项: 文本可以顺时针或逆时针显示,也可以顺时针或逆时针旋转(上面的示例快照假定顺时针显示,逆时针旋转)。 旋转应无限循环进行(直到程序停止),并且可以在任何阶段开始。 快照之间的暂停时间应大致恒定,但可以在0.1到1 s之间自由选择。在显示第一个快照之前的初始暂停是可以接受的。 字母可以是大写,小写或混合大小写(如上例所示)。 允许前导或尾随空格。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 …

30
这个数字是数字吗?
挑战 甲纯位数是一个非负整数,其位数都相等。 创建一个函数或完整程序,该函数或完整程序将单个整数作为输入,并且如果输入的数字是以10为底的repdigit,则输出真实值,否则输出false。 输入保证为正整数。 您可以不受限制地接受并使用输入作为10进制的字符串表示形式。 测试用例 这些都是1000以下的位数。 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999 可以在OEIS上找到更大的列表。 获奖 以字节为单位的最短代码获胜。这并不是说不欢迎用冗长的语言回答。

28
创建一个二进制墙
给定以10为底的正整数数组,其中n > 0输出二进制墙的表示形式。 这是如何运作的? 将每个数字转换为其二进制表示形式。 用前导零填充表示形式到最长的零,即1, 2-> 1, 10-> 01, 10。 在1s为砖块而0s为砖块的情况下创建墙。 墙是一个字符块,其中任何可打印的字符代表一块砖块,而空格(32)代表丢失的砖块。您可以为砖块选择任何字符,只要它不是空白字符,就不必在墙上有区别。缺少的砖块字符必须为空格。对于下面的示例,我使用*了积木。 例 输入: [ 15, 7, 13, 11 ] [ 1111, 111, 1101, 1011 ] [ 1111, 0111, 1101, 1011 ] 输出: **** *** ** * * ** 规则 输入必须以10为基数,如果您的语言接受其他基数,则您可能不使用它们。 允许前导和尾随新行。 输入可以视为整数列表,单独的参数或任何合理的格式。 输出可以采用任何合理的格式:新行分隔的字符串,行数组,二维数组等。 不允许出现标准漏洞。 测试用例 请注意,在第一个测试用例中,所有层的末尾都有一块空砖。 [ 14, …

30
找到最高的唯一数字
令人惊讶的,我们还没有一个简单的“找到最高位”的挑战,但我认为这是一个有点太微不足道了。 给定一个非负整数的输入,返回在整数中找到的最高的唯一(即不重复)数字。如果没有唯一数字,则您的程序可以执行任何操作(不确定的行为)。 输入可以作为单个整数,字符串或数字列表。 测试用例 12 -> 2 0 -> 0 485902 -> 9 495902 -> 5 999999 -> Anything 999099 -> 0 1948710498 -> 7 这是代码高尔夫球,因此每种语言中最少的字节会获胜!

30
删除指定索引处的字符
(很大程度上受指定索引处的string元素启发) 给定一个字符串s和一个整数,该整数n表示中的索引s,输出s的字符在n-th位置已删除。 允许0索引和1索引。 对于0索引,n将为非负数且小于的长度s。 对于1索引,n将为正且小于或等于的长度s。 s将包括可打印的ASCII字符只(\x20-\x7E或 通过~)。 允许任何合理的输入/输出。有标准漏洞。 测试用例(0索引): n s output 0 "abcde" "bcde" 1 "abcde" "acde" 2 "a != b" "a = b" 3 "+-*/" "+-*" 4 "1234.5" "12345" 3 "314151" "31451" 测试用例(1索引): n s output 1 "abcde" "bcde" 2 "abcde" "acde" 3 "a != b" "a = …
33 code-golf  string 

30
使其爆炸!
以正整数矩阵作为输入,使其爆炸! 爆炸矩阵的方法是在每个元素(包括外部边界)周围简单地添加零。 输入/输出格式一如既往是可选的! 测试用例: 1 ----- 0 0 0 0 1 0 0 0 0 -------------- 1 4 5 2 ----- 0 0 0 0 0 0 1 0 4 0 0 0 0 0 0 0 5 0 2 0 0 0 0 0 0 -------------- 1 4 7 …
33 code-golf  matrix 

30
这个数字是三角形的吗?
挑战 给定一个正整数,请确定它是否为三角数,并相应地输出任意两个恒定且不同的值之一。 定义 甲三角形号码是可以被表示为连续的正整数的总和,从1开始。它们也可以与式表示的数n(n + 1) / 2,其中n一些正整数。 测试用例 真相: 1 3 6 10 15 21 55 276 1540 2701 5050 7626 18915 71253 173166 222111 303031 307720 500500 998991 虚假: 2 4 5 7 8 9 11 16 32 50 290 555 4576 31988 187394 501500 999999 规则 您输入的可能是函数或程序。 …

30
告诉我我的屏幕分辨率!
以(不带括号)的特定格式输出设备的屏幕分辨率[width]x[height]。例如,输出可能是1440x900。 这是一个在线测试仪,您可以用来检查自己的屏幕分辨率。
33 code-golf 

13
寻找最佳模式
给定由小写字母组成的字符串s,例如 aabaaababbbbaaba 而正整数n(例如4)输出长度为n的字符串t,使得当t重复到s的长度时,它们具有尽可能多的共同字符。对于给定的示例,最佳输出为aaba,因为它与目标字符串共有13个字符: s: aabaaababbbbaaba t: aabaaabaaabaaaba (aaba) ^^^^^^^^ ^ ^^^^ 没有可能牛逼有更多。但是,对于aaaaaab,有两个可能的输出:aaaa和aaba,每个输出与目标字符串共有6个字符: s: aaaaaab t: aaaaaaaa (aaaa) ^^^^^^ s: aaaaaab t: aabaaaba (aaba) ^^ ^^^^ 无论是aaaa或aaba可以输出,或者如果两个你想。注意,s永远不会重复;t的a两个重复值中的尾部将被忽略。 测试用例 Inputs -> Valid outputs 1 a -> a 1 aa -> a 2 aa -> aa 1 ab -> a b 2 ab …
33 code-golf  string 

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.