Questions tagged «code-golf»

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

30
Flippign Lettesr Aroudn
在聊天时,我们往往快typers和真的不看顺序的字母发布消息前。由于我们很懒,因此我们需要一个程序来自动交换单词中的最后两个字母,但是由于我们不想响应太晚,因此代码必须简短。 您的任务(如果希望接受它)是编写一个程序,该程序翻转给定字符串中每个单词的最后两个字母(因此单词Thansk变成Thanks)。一个字是在英文字母的分隔的两个或多个字母序列的单一空间。 您确保输入的字符串/ 字符列表仅包含字母字符和空格(ASCII [97-122],[65-90]和32)。 您可以使用任何编程语言,通过任何标准方法输入和提供输出,同时请注意,默认情况下,这些漏洞是禁止的。 输出可能有一个尾随空格和/或一个尾随换行符。 输入将始终仅包含单词(和相应的空格),并将至少包含一个单词。 这是代码高尔夫,因此每种语言的最短提交(以字节计)将获胜! 测试用例 请注意,字符串用引号引起来,以提高可读性。 输入->输出 “谢谢”->“谢谢” “ Youer welcoem”->“不客气” “这是一个苹果”->“这是苹果” “ Flippign Lettesr Aroudn”->“翻转字母” “具有可互换字母的奇制”->“具有可互换字母的奇制” 或者,为了方便测试套件,以下分别是输入及其对应的输出: 坦斯克 Youer welcoem 这是一个苹果 Flippign Lettesr Aroudn 带有可替换字母的胆小包 谢谢 别客气 思娜娜·阿佩尔 翻转字母 交换字母的奇特挑战 感谢DJMcMayhem的标题。这最初是CMC。
33 code-golf  string 

30
找出以n结尾,可被n整除且其数字总和为n的最小正整数
全部在标题中... 以一个正整数作为输入n>=12,...进行标题说明的操作。 是的,这是在OEIS A187924上。 一些测试案例 12 -> 912 13 -> 11713 14 -> 6314 15 -> 915 16 -> 3616 17 -> 15317 18 -> 918 19 -> 17119 20 -> 9920 40 -> 1999840 100-> 99999999999100 这是代码高尔夫球。以字节为单位的最短代码胜出!

30
是我的矩阵箭头吗?
定义 一个箭头矩阵是一个矩阵,其具有所有条目等于0,除了在主对角线,顶行和最左一列的那些。换句话说,矩阵应如下所示: * * * * * * * * 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 * 其中每个*是任何非零条目。 任务 给定非负整数的方阵,请根据上面的定义检查其是否为箭头。 除非您的语言等效于数组,例如指针和长度(例如C),否则您可能不将矩阵的大小作为输入。始终至少为3 x 3。 每种语言中以字节为单位的最短代码获胜。 输入输出 您可以选择以下任何一种格式来接收输入: 本机矩阵类型的矩阵(如果您的语言有一种) 2D数组1(1D数组的数组,每个数组对应于一行) 一维数组(因为矩阵始终为正方形) …

1
微重力球
您正在使用先进的星际空间站。你们中一个在重力研究中成年的朋友刚刚创建了一个游戏,其中涉及使用微重力作为移动球的一种方法。 她递给您一个小型控制器,上面带有四个方向箭头,一个像迷宫一样的结构,左侧有一个球。她开始解释游戏的运作方式。 您有2个方向按钮,向左<和向右>。 您还具有^上下两个重力按钮v(至少从您的参照系来看) 您将使用这些箭头按钮在屏幕上四处移动球。 “现在有一些规则需要遵循。” 她说 到达杯子之前,必须遍历所有平台 \ / 箭头< > ^ v将用于指定球的运动 重力是^ v(上下)。这会将球一直沿该方向移动到下一个平台。(不计算上下距离) 丢球不好!请勿掉落边缘,也不要过早切换重力,以使您的球永远不会到达平台 运动以步长计算 < > 只要遵循规则1,球就可以从任何方向进入杯子 您必须指定重力方向,以使您的球不会漂浮 只要遵循规则1和规则4,移动可能是随机的 对于无法解决的情况,输出False或Invalid 球,平台和杯子的简单示例: v o ---\ / v> o ---\ / v>> o ---\ / v>>> o ---\ / v>>>> ---\o/ 再次遍历同一平台的示例。 v o ---- \ /------- v> …

11
编码一个整数
给定正整数n > 2。我们将其转换为数组,如下所示: 如果等于则2返回一个空数组 否则,创建所有n升序排列的所有素数的数组,然后将每个元素替换为其素数序列中的索引,最后将每个元素转换为数组 例如,让我们将数字转换46为数组。首先,将其转换为主要因子数组: [2, 23] 号码23是9个质数,所以更换2空数组并23用[9]。数组现在变为: [[], [9]] 的主要因子9是3和3,因此: [[], [3, 3]] 对两个都做相同的事情3: [[], [[2], [2]]] 最后: [[], [[[]], [[]]]] 现在,要对其进行编码,我们只需用替换每个开括号,1并将每个闭括号替换为0,然后删除所有结尾的零,并1从结尾删除一个。这是我们的二进制数。使用上面的示例: [ ] [ [ [ ] ] [ [ ] ] ] | | | | | | | | | | | | | | …

28
这是一个很强的词吗?
他们说这hate是一个有力的词。我想找出原因,因此很好地了解了这个词。 我注意到每个辅音后面都有一个元音。这使它看起来对我来说很坚强,所以我认为这就是使一个词更坚强的原因。 我想找到更强的词,因此需要一个程序! 寻找强词 强词是每个辅音(集合中的字母BCDFGHJKLMNPQRSTVWXZ)后跟元音(集合中的字母AEIOUY)的单词。而已。别的都无所谓。 如果单词以元音开头,则不必担心第一个辅音之前的任何字母。如果这个词根本没有辅音,那么它就自动成为一个强词! 强话的一些例子是agate,hate和you。agate仍然是一个很强的词,因为尽管它以元音开头,但每个辅音仍然跟着元音。you这个词很强大,因为它没有辅音。 强词的长度没有限制。 挑战 编写一个程序或函数,该程序或函数将非空字符串作为输入,如果它是一个强词,则输出一个真实值,否则,则输出一个虚假值。 澄清说明 您可以决定采用小写或大写形式输入。指定答案中的哪个。 单词将不包含任何标点符号。它们只包含纯字母ABCDEFGHIJKLMNOPQRSTUVWXYZ。 您可以选择两个不同且一致的值来代替true和false,以返回true和false。如果这样做,请指定您在答案中选择的值。 您也可以为强词输出假值,为非强词输出真值。 测试用例 Input -> Output hate -> true love -> true popularize -> true academy -> true you -> true mouse -> true acorn -> false nut -> false ah -> false strong -> false false …

30
用最大位数减少数字
任务: 给定十进制数字系统中的整数,将其减少为一个十进制数字,如下所示: 将数字转换为十进制数字列表。 找出最大的数字D 从列表中删除D。如果出现多个D,请从左侧选择第一个(最重要的位置),所有其他D应保持不变。 将结果列表转换为十进制数字,然后将其乘以D。 如果数字大于9(具有超过1个十进制数字),请重复整个过程,并将结果输入其中。得到一个数字的结果时停止。 显示结果。 例: 26364 -> 1. 2 6 3 6 4 2. The largest digit is 6, so D=6 3. There are two occurrences or 6: at positions 1 and 3 (0-based). We remove the left one, at position 1 and get the list …

8
没有同质邻居
给定一个正整数列表,输出其中每个相邻的整数对是否共享一个素数。换句话说,当且仅当列表中没有两个相邻的整数互质时,才输出true。 换句话说:给定正整数列表[a 1 a 2 …a n ],输出是否 gcd(a 1,a 2)> 1 && gcd(a 2,a 3)> 1 &&…&& gcd(a n-1,a n)> 1。 该列表将始终包含至少两个元素(n≥2)。 然而… 这个挑战也是受限制的:在您的答案中的代码点(无论它在哪个代码页中)都必须满足程序检查的条件。 例如,print 2是一个有效程序。作为Unicode代码点的列表,它是[112 114 105 110 116 32 50],它满足以下条件:112和114共享因子2;和114和105的共用一个因子3,等 然而,main能不能在一个有效的程序产生(对不起!),为的Unicode代码点m和a,即109和97,是互质。(非常感谢,您的提交不必是一个完整的程序!) 您的程序不允许包含代码点0。 测试用例 真相: [6 21] -> 1 [502 230 524 618 996] -> 1 [314 112 …

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 => …

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上找到更大的列表。 获奖 以字节为单位的最短代码获胜。这并不是说不欢迎用冗长的语言回答。

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.