Questions tagged «code-golf»

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

6
桥梁是ASCII艺术中所有事物的隐喻
(向标题的Jim West致歉,并从Cisco徽标的文字表示中随机得到启发: .:|:.:|:. 用于该概念) 给定输入整数1 <= n <= 255,n按照以下构造规则输出距离的悬索桥的ASCII艺术表示: 桥梁的起点和终点(不计入n距离)始终为-|和|-,因此桥梁可以适当地连接至其旁边的高速公路。 桥梁不向下延伸(由-行组成的行车道高度是最底行)。 --连续最多可有两个巷道部件,任何更长的跨度都需要悬挂电缆来支撑。 悬索\从车道一直延伸到塔架|,呈直线状。 塔架|必须足够高以支撑相邻的悬挂电缆,但不能更高。 桥梁必须围绕中点左右平衡,并尽可能偏向中心部分。 上面所有这些都将导致电缆的最小化,但是需要明确的是,在遵循上述规则的同时,必须使悬挂电缆的数量最少。 为了提供可视化表示,以下是-的预期输出n = 1, 2, 3, ... 15: 1 -|-|- 2 -|--|- 3 -|\-/|- 4 -|\--/|- 5 |\ /| -|-\-/-|- 6 |\ /| -|-\--/-|- 7 |\ /| | \ / | -|--\-/--|- 8 |\ /| …

3
Dobble / SpotIt卡生成器
介绍 Dobble / Spot这是一种纸牌游戏,人们必须在最短的时间内在一对纸牌上发现相同的符号,并指出并移到下一对。每张卡具有多个符号(普通版为8个),但每对卡之间恰好有一个共同的符号。 来自游戏实体副本的示例: 挑战 编写一个程序,给定一组符号(单个ascii字符)和单个卡上的符号数量,将生成输出列表卡,其中每个卡都有符号。显然有许多等效的组合,您的程序只需要编写任何组合就可以为给定的输入产生最大数量的卡片。 这是一个代码问题,因此代码越短越好。 如果在最复杂的情​​况下,在宇宙热死之前完成计算,那将也很好。 输入值 函数/ stdin的两个参数(您的选择) 首先是符号的集合,例如'ABCDE'或['A','B','C','D','E']-您选择的格式,可以是字符串,集合,列表,流,或所选择语言的惯用语言。字符将从[A-Za-z0-9]的集合中给出,不能重复(因此输入符号集的最大大小为62)。它们不会在(因此您也可以在6个符号的情况下获得“ yX4i9A”)。 第二个参数是整数,表示单张卡上的符号数量。小于符号集的大小。 输出量 打印用换行符分隔的多行,每行包含一张卡的符号。 例子 ABC 2 >>>> AB BC AC 要么 ABCDEFG 3 >>>> ABC BDE CEF BFG AEG CDG ADF 要么 ABCDE 4 >>>> ABCD 提示 所产生的卡片数量不能大于不同符号的数量,并且在许多组合中,它将大大减少 如果您需要数学方面的帮助,则可能需要阅读一些数学背景 这是我第一次挑战高尔夫代码,因此请原谅格式/样式方面的可能问题-如果您在注释中指出错误,则我将尝试更正。

2
匹配排列!
您的挑战是创建一个正则表达式,使其匹配自身的每个字符串排列,而不是其他任何内容。匹配项还必须区分大小写。 因此,例如,如果您的正则表达式为: ABC 它应该匹配(并且仅匹配)以下字符串: ABC ACB BAC BCA CAB CBA 它不应该匹配以下内容: AABC (contains an extra A) ABCD (contains an extra D) AC (no B) AAA (no B and C, extra 2 A's) abc (case-sensitive) 规则: 您可以使用任何喜欢的正则表达式。 有标准漏洞。 您的代码中必须至少包含两个不同的字符。这意味着类似1的解决方案是无效的。 正则表达式应仅包含可打印的ASCII,而不能包含其他任何内容。

9
所有异种
介绍 在基体A xenodrome Ñ是整数,其中所有其在碱位数Ñ是不同的。这是异种的一些OEIS序列。 例如,在底座16, FACE,42和FEDCBA9876543210是一些xenodromes(哪些是64206,66和18364758544493064720在基座10),但11并DEFACED不是。 挑战 给定输入底数n,在底数10中输出该底物的所有异种。 输出应从最小到最大。应该清楚序列中的一个术语在何处结束而一个新的术语在何处开始(例如[0, 1, 2],清楚012不在哪里。) n将是一个大于0的整数。 澄清说明 这项挑战专门针对以10为基数的IO,以避免将整数及其基数作为字符串处理。挑战在于抽象地处理任何基础。因此,我添加了以下附加规则: 整数不能以字符串形式存储在以10为基数的基数中。 如果在语言实现上没有时间,内存,精度或其他技术限制,则您的程序在理论上应该能够处理合理的n。 这是代码高尔夫,因此以字节为单位的最短程序胜出。 输入和输出示例 1 # Input 0 # Output 2 0, 1, 2 3 0, 1, 2, 3, 5, 6, 7, 11, 15, 19, 21 4 0, 1, 2, 3, 4, 6, 7, 8, 9, …

19
最短的Konami码
问题 您必须编写一个程序,在运行时键入Konami代码时,该程序会打印字符串“ +30 lives”,并从计算机的扬声器中发出您选择的声音。 定义 定义“ Konami代码”,UUDDLRLRBA然后按Enter键。 规则 只要您的代码与箭头或字母一致,就可以选择使用向上箭头U,向下箭头D,左箭头L和右R箭头。 您的输入可以从控制器或键盘接受,但不需要同时支持这两种输入。 现有答案可以BABA代替继续使用BA,但也可以根据需要将其缩短。将来的答案都应该BA用于保持一致性。 不需要支持空输入。

16
确定关系是否可传递
挑战说明 让我们从一些定义开始: 一个关系是一组有序的元素对(在这个挑战中,我们将使用整数) 例如,[(1, 2), (5, 1), (-9, 12), (0, 0), (3, 2)]是一个关系。 如果对于任意两对元素,并且在该关系中还存在一对,则该关系称为可传递的,(a, b)(b, c)(a, c) [(1, 2), (2, 4), (6, 5), (1, 4)]是传递的,因为它含有(1, 2)和(2, 4),但(1, 4)为好, [(7, 8), (9, 10), (15, -5)]是传递的,因为没有任何2双 (a, b),(c, d)存在,使得b= c。 [(5, 9), (9, 54), (0, 0)]不传递,因为它包含(5, 9)和(9, 54),但不包含(5, 54) 给定整数对列表,请确定一个关系是否可传递。 输入输出 您将获得任何合理格式的整数对列表。考虑一个关系 …

21
产生密码
给定数字和字符串生成密码 您的任务很简单。给定一个字符串s和一个数字0 <= n <= 9作为输入,在字符串n时间的每个字符之间插入一个可伪随机打印的ASCII字符。这样,每个字符之间都s存在n随机字符。应修剪空间。 输入: s密码中要加密的字符串短语 n范围内的整数0 <= n <= 9 例: 输入: The treasure is here 2 输出: Ť!0 ħ 32 ë F4 吨 0I ř LK Ë HM 一个 7Y 小号#0 ü * - [R * H ë!2 我 H ^ 小号 B,ħ!@ ë 0)- [R …

10
将CSV转换成表格
挑战 给定CSV输入,请使用框字符输出适当的unicode表。 格式化 该表将使用以下规则进行格式化: 列宽将等于该列的最长值 所有表格数据将保持对齐 每个表将假定第一csv行为标题 该表格的边框将使用以下字符: ┌ ┬ ┐ ├ ┼ ┤ └ ┴ ┘ ─ │ 例 Input: Name,Age,Gender Shaun,19,Male Debra,19,Female Alan,26,Male George,15,Male Output: ┌──────┬───┬──────┐ │Name │Age│Gender│ ├──────┼───┼──────┤ │Shaun │19 │Male │ │Debra │19 │Female│ │Alan │26 │Male │ │George│15 │Male │ └──────┴───┴──────┘ 规则 适用标准漏洞 您可以提交完整的程序,函数或lambda 输入可以来自文件,程序参数或任何可接受的替代方法 …

23
求多项式某个点的变化率
给定多项式和x坐标方程,找到曲线上该x坐标处的点的变化率。 多项式的形式为:ax n + ax n-1 + ... + ax 1 + a,其中a ϵ Q和n ϵW。对于此挑战,如果您不想拥有n也可以为0处理没有x的特殊情况(常数)。 要找到该x坐标处的变化率,我们可以得到多项式的导数并插入x坐标。 输入值 多项式可以采用任何合理的形式,但是您必须明确说明该格式。例如,形式的数组[..[coefficient, exponent]..]是可以接受的。 输出量 给定x坐标处的点的变化率。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 例子 [[4, 3], [-2, 4], [5, 10]] 19 -> 16134384838410 [[0, 4]] 400 -> 0 [[4, 0], [5,1]] -13 -> 5 [[4.14, 4], [48, 2]] -3 -> …

7
尽量减少回文
今天,您将面临另一个回文挑战! 因此,您今天的任务是取一个字符串,并确定将其变成回文式所需要插入的最小字母数。 例如,让我们使用string fishes。 在这种情况下,最好的方法是添加h if,因此结果将为3。 fishe s h if --------- fishehsif 现在,让我们尝试一下codegolf。由于存在重复o,我们可以这样做: codeg o lf fl ed c ------------- flcodegedoclf 得到5的结果 测试用例 ppcg -> 2 codegolf -> 5 palindrome -> 9 stackexchange -> 8 programmingpuzzlesandcodegolf -> 20

2
鬼和南瓜
这是刻在Jack-o-Lantern中的ASCII南瓜。可爱吗? ((^v^)) 这是一个ASCII伪影。看起来有多怪异! \{O.O}/ 显然,南瓜必须在地面上,并且它们之间要有一定的间距,以免它们腐烂。 但是,鬼魂喜欢站在南瓜上,因此它们甚至更怪异。但是,他们必须站在两个南瓜上,否则它们的幽灵般的重量会压碎下面的南瓜。但是,由于它们的幽灵魔术如何工作,多个幽灵可以堆叠和共享南瓜,只要这些幽灵在较低的南瓜或较低的幽灵上平均分配即可。换句话说,形成一个像人类金字塔的形状。请注意,除非在下面有南瓜(否则这是魔术的工作原理),否则鬼魂无法堆叠在鬼魂上。 给定两个非负整数,g并且分别p表示g主体和pumpkins 的数量,它们按照上述金字塔堆积规则输出最紧凑的最左形式。剩下的南瓜和鬼魂(即那些没有形成金字塔的鬼魂)在地上向右走。 为了澄清起见,这些形式是可以的(用空白换行符分隔),并用作示例I / O: 0p 1g \{O.O}/ 1p 0g ((^v^)) 1p 1g ((^v^)) \{O.O}/ 2p 1g \{O.O}/ ((^v^)) ((^v^)) 2p 2g \{O.O}/ ((^v^)) ((^v^)) \{O.O}/ 3p 1g \{O.O}/ ((^v^)) ((^v^)) ((^v^)) 3p 2g \{O.O}/ \{O.O}/ ((^v^)) ((^v^)) ((^v^)) 3p 3g \{O.O}/ \{O.O}/ \{O.O}/ …

6
让我们为万圣节做准备
我不知道你们所有人,但我没有为万圣节做准备-从来没有做过-但我的邻居是,所以我们会帮助她的。 她需要帮助来弄清楚自己拥有的糖果品牌,但是她的糖果太多了,她在万圣节前无法完成。 她有: 士力架 奇巧 星爆 小熊软糖 扭曲 输入值 仅包含字母和空格的多行字符串(或任何其他合理形式)。 输出量 如果不是有效的糖果,则为伪造的值;如果不是糖果,则为虚假的糖果。 如何确定是哪种糖果 如果糖果上面写有上述品牌之一,则该糖果是有效的。但是,这并不是那么简单,因为这是有效的糖果: K i t K a t 有效的糖果是: 字母按从左到右的顺序排列 字母正确大写 字母,从左到右,既不上升也不下降 除去空格的字母构成上述品牌之一 这是代码高尔夫球,因此以字节为单位的最短代码获胜! 例子 Truthys: 1. kers c i n S 2. Kit K a t 3. St a r b u r st 4. Bear s …
15 code-golf  string 

15
回文多语
您的任务是编写一个以两种不同的语言运行的程序,并执行以下操作: 用一种语言,它会palindromise给定的字符串。 拿弦。 abcde 反转字符串。 edcba 删除第一个字符。 dcba 将其粘贴到原始字符串上。 abcdedcba 用另一种语言,它使给定的字符串去palindromind。 采取上述方法使琴弦失去光泽。 abcdedcba 从头到中间获取字符。 abcde 记住,这是code-golf,因此,字符最少(不是字节)的代码将获胜。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language 1/Language 2, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby/Python, <s>104</s> <s>101</s> 96 bytes 如果您想在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl/C, 43 + 2 (-p flag) = 45 bytes 您还可以将语言名称设置为链接,然后该链接将显示在页首横幅代码段中: # [><>](http://esolangs.org/wiki/Fish)/Python, 121 bytes 显示代码段 var …

2
真正的切比雪夫旋转
这是受Chebyshev Rotation启发的挑战。我建议在那里查看答案以从中获得灵感。 给定平面上的一个点,存在一个以原点为中心并与该点相交的唯一正方形(边长相等的矩形)(Interactive demo): 给定一个点p和距离d,返回由移动距离获得的点d从p,逆时针(顺时针和负 d),沿方形的周边围绕原点相交p。您的答案必须精确到至少4个十进制数字。 测试用例: (0, 0), 100 -> (0, 0) (1, 1), 81.42 -> (-0.4200, 1.0000) (42.234, 234.12), 2303.34 -> (-234.1200, 80.0940) (-23, -39.234), -234.3 -> (39.2340, -21.8960) 以下测试用例来自Martin Ender最初提出的挑战,且所有测试用例的d = 1: (0, 0) -> (0, 0) (1, 0) -> (1, 1) (1, 1) -> (0, 1) …

1
那张地图几岁了?
引用xkcd 1688: 您的任务是通过询问用户问题来推断地图的年龄。除了大写字母和其他换行符以外,这些问题必须与xkcd指南中的问题完全相同。此外,您应该为用户提供一些选项供您选择,而不必按照xkcd图像中的顺序进行选择。如果输入与任何预期答案都不匹配,则您的程序/功能可能会以任何未定义的方式运行。最后,您应该输出创建地图的年份/时间。 示例(>表示输入,但您可以选择其他内容): 范例1: ISTANBUL OR CONSTANTINOPLE? (CONSTANTINOPLE, NEITHER, ISTANBUL) >ISTANBUL DOES THE SOVIET UNION EXISTS? (YES, NO) >NO ZAIRE? OR: 'HONG KONG (UK)' (YES, NO) >NO SERBIA / MONTENEGRO ARE? (ONE COUNTRY, TWO COUNTRIES) >TWO COUNTRIES HOW MANY SUDANS ARE THERE? (ONE, TWO) >ONE 2007-11 范例2: ISTANBUL OR …

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.