Questions tagged «code-golf»

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

30
将;#转换成您的语言
相关于:生成;#解释器并生成;#代码 ;# -旋风指南 这是一种简单的语言,带有两个命令。它唯一的数据结构是一个累加器,它被初始化为0。 ; 累加器 #计算127模的累加器值,并打印相应的ASCII字符。然后,将累加器重置为0。 源代码可能包含其他字符(可打印的ASCII +空格),但是这些字符被视为注释,对程序执行没有影响。 挑战 由于大多数计算机未;#预装,因此拥有一个可以将;#代码转换为其他语言的工具将非常有用。在这个挑战中,您将编写一个程序来完成此任务。 输入项 一些;#通过参数或STDIN获取的源代码。此源代码可能包含(注释);或以外的其他字符#。 输出量 代码与您提交的语言相同,该;#代码在执行时将打印/返回与原始代码相同的字符串。如果对您的语言更方便,此结果代码可能会在目标字符串之后输出尾随换行符。 笔记 需要注意的一件事是转义序列,例如打印反斜杠或打印引号的代码。另外,请;#注意可能包含与您的语言中的关键字或命令类似的内容的代码。 其他限制 所有程序都必须终止(我通常将其视为默认值,但有人对此询问,因此在此说明)。 例子 input: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# output (python): print(";#") input: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# output (element): \'`
25 code-golf 

12
查找原始字符串,不重复,中间不重复
有时会发生这样的情况:在输入句子时,我会分心,最终两次连续输入相同的单词两次。 为了确保其他人不会对此感到烦恼,您的任务是编写一个解决此问题的程序! 任务 给定一个输入字符串(如果对您的语言而言很重要,则可以假定不包含换行符的仅ASCII输入。)str,在其中间某处包含一个子字符串,该子字符串立即连续出现两次,并返回带有此字符串的一个实例的字符串子字符串已删除。 如果存在多种可能性,则返回可能的最短答案(即,选择最长的连续重复子串并删除该子串)。 如果有多个等长的连续重复子字符串,请删除第一个(即从前向后读取该字符串时遇到的第一个)。 您可以假设输入正确(即始终包含一个连续的重复子字符串),这可能有助于降低它的负担。 例子 输入:hello hello world->输出:hello world。 输入:foofoo->输出:foo。(因此:是的,字符串可能只包含两次重复部分)。 输入:aaaaa->输出:aaa,因为最长的重复连续子字符串在此处aa。 输入:Slartibartfast->这不是有效的输入,因为它不包含连续的重复子字符串,因此您无需处理这种情况。 输入:the few the bar->这是另一个无效的输入,因为重复部分应立即跟随原始部分。在这种情况下,the并且the之间用其他分隔符隔开,因此此输入无效。 输入:ababcbc->输出:abcbc。两个可能最长的连续重复子串是ab和bc。如ab字符串前面所述,这是正确的答案。 输入:Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo。输出:Buffalo buffalo buffalo buffalo Buffalo buffalo。(执行的替换应区分大小写)。 输入:Sometimes it happens that while typing a sentence, I am distracted and I end up typing the …

21
雕刻一些ASCII珠宝!
3月13日被认为是“ 国家珠宝节”,这是这一挑战的主题。所以,给定一个整数n,其中n大于0,创建一个ASCII宝石。例如: n = 1 n = 2 n = 3 ______ ____ / \ __ / \ \ / / \ \ / \ / \ / \ / \ / \/ \/ \/ 底部定义为珠宝中最高的一对\/。其余的是顶部。对于上面的示例,其中n = 1: Bottom: \ / Top: __ \/ / \ 如您所见,底部由n + 1多层构成,\/中间各层之间有(1 * …

24
提出一个数字
介绍 假设您要计算数字列表的尾部最大值,即每个非空后缀的最大值。一种方法是重复选择一个数字,然后用后面出现的更大的数字代替,直到不可能为止。在这一挑战中,您的任务是执行此算法的一个步骤。 任务 您的输入是一个整数列表L,它可以为空。您的输出应为列表L,其中一个数字L i正好被另一个L j代替,其中L i <L j和i <j。 换句话说,您应该用一个更大的数字代替一个数字。 您可以在所有有效对之间自由选择i和j,并且选择可以是不确定的。 如果这样的i和j不存在(即L不增加),则您的输出应保持L不变。 例 考虑输入L = [3,1,4,-1,2]。可能的操作是替换3由4,替换1由4,替换1通过2,或替换-1由2。因此,可能的输出为: [ 3 , 1 , 4 , -1 , 2 ] ------------------------------ [( 4), 1 ,( 4), -1 , 2 ] [ 3 ,( 4),( 4), -1 , 2 ] [ 3 ,( …

30
倒计时100天
通常在活动开始前100天开始倒数计时,这可能是由于我们的10级系统。随处可见此示例: 距离生日100天 距婚礼100天 距离选举还有100天 距毕业仅100天 距她的到期日100天 距足球赛季100天 直到获得狂热者徽章的100天 您得到图片。似乎事件发生前的第100天仅次于实际事件。因此,对于这个挑战,我需要知道100天后的日期,这样我才能确定自己也应该开始倒数。 输入项 无输入 输出量 根据标准公历从当前日期开始的100天(请务必考虑leap年)。输出是灵活的,只要日期格式是人读能力(例如2016-10-8,10-8-16,[ 2016, 10, 8 ],10/8/16 12:00:00 AM)。 获奖 高尔夫代码:以字节为单位的最短代码 例子 从今天(2017年4月5日)起100天是2017年7月14日星期五。 Current Future ------- ------ 01/01/2001 +100 04/11/2001 01/01/2004 +100 04/10/2004 01/01/1900 +100 04/11/1900 01/01/2000 +100 04/10/2000 07/04/2017 +100 10/12/2017 10/31/2017 +100 02/08/2018 12/25/2017 +100 04/04/2018 08/29/1941 +100 …
25 code-golf  date 

18
两条道路分叉成黄色的木头(第2部分)
这是系列中的第二部分,第三部分是两条道路在黄色的树林中分叉(第3部分) 这是基于两条道路在黄色木材中分叉(第1部分),这是我的先前挑战。这是相当受欢迎的,但也很琐碎(一个Java回答52字节!)所以我做了一些更复杂的事情…… 灵感来源 这一挑战的灵感来自罗伯特·弗罗斯特(Robert Frost)的著名诗作《未走的路》: 两条道路在黄色的树林中分叉, 对不起,我无法同时行进 ,成为一个行人,我站了很久,尽我所能地 低头看 向灌木丛中的弯曲处。 ... 2段落已删去... 我将叹息地告诉这个问题,它的 年代久远了: 两条路在树林中分叉,我- 我走过的路少了, 这一切都改变了。 请注意倒数第二行I took the one less traveled by,。您的目标是在字符串输入中找到行驶最少的道路。您必须输出彼此不同的2个值之一,以信号表明您应该转向哪种方式以减少行驶的道路。一旦路岔(六边形的轨迹变为数字),您就在交叉路口。从那里开始,将有2条由数字组成的路径。位数最低的路径将是未走的路。请注意,未走的道路的路径可能较大,但路径总和较低。下面是一些程序的示例/测试用例,这些程序针对未采用的路径打印“左”或“右”: 1 2 1 2 1 2 # # # left (3 < 6) 1 2 2 2 1 1 # # # left (4 < 5) …

22
递归字符串替换
任务 编写一个程序或函数,给出给定的三个字符串A, B, C会生成一个输出字符串,其中Bin的每个实例A都已用递归替换C。递归替换表示重复替换,其中在每一步中Bin的所有不重叠实例A(从左到右贪婪地选择)都替换为,C直到B不再包含在中A。 输入输出 您可以对I / O使用任何默认方法。 字符串将仅包含可打印的ASCII字符(并且可以包含任何一个)。 B永远不会是一个空字符串,而A并且C可能是。 字符串应被视为纯文本,例如,您不能将其B视为Regex模式。 输入的某些组合永远不会终止。在这种情况下,您的程序可以执行任何操作。 测试用例 这些格式为: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 不会终止的示例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

16
近似布伦常数
布伦常数是其中的倒数之和的值孪生素数对(1/p与1/(p+2)其中p和p+2都是素数)收敛。大约是1.902160583104。 给定一个正整数N,通过将双素数对中的两个素数均小于的双素数对的倒数相加来近似布伦常数N,并输出近似值。 规则 N 将是您的语言可表示范围内的正整数。 在您的语言的浮点实现限制内,输出必须尽可能精确到真实值,而忽略由于浮点算术错误而引起的任何潜在问题。如果您的语言能够执行任意精度算术,则它必须至少与IEEE 754双精度算术一样精确。 或者,可以以任何一致,明确的格式输出精确的分数。 如果一个主要出现在多个孪生素对(例如5,二者的一部分(3, 5)和(5, 7)),其倒数有助于总和各一次。 测试用例 2 -> 0 6 -> 0.5333333333333333 10 -> 0.8761904761904762 13 -> 0.8761904761904762 100 -> 1.3309903657190867 620 -> 1.4999706034568274 100000 -> 1.67279958482774

11
二叉树分形
今天的挑战是像这样的示例一样绘制一幅美丽的ascii艺术的二叉树: /\ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ /\ /\ / \ / \ / \ / \ / \ / \ / \ / \ …

20
绘制ASCII风险
涉及使用星号绘制形状的问题很多,因此我认为,由于存在许多星号,我们应该使用ASCII表绘制一个。 挑战 您的任务是编写一个无需输入的程序或函数,并输出以下确切文本: ! "# $% &' () *+ ,- ./ 01 23456789:;<=>?@ABCDEF GHIJKLMNOPQRSTUVWXYZ[ \]^_ `a bc de fg hi jk lm no pq rs tu vw xy z{ |} ~ 作为参考,该站点列出了完整的ASCII表。 规则 输出应该是准确的文本,如上所示。允许前导/尾随空格。 适用标准高尔夫球漏洞-无需从互联网等读取此ASCII风险。 这是代码高尔夫球,因此最短的解决方案(以字节为单位)获胜。

15
字符串上的线性回归
给定一个字符串,这个挑战有些棘手,但相当简单s: meta.codegolf.stackexchange.com 使用字符串中字符的位置作为x坐标,并使用ascii值作为y坐标。对于上述字符串,所得的一组坐标为: 0, 109 1, 101 2, 116 3, 97 4, 46 5, 99 6, 111 7, 100 8, 101 9, 103 10,111 11,108 12,102 13,46 14,115 15,116 16,97 17,99 18,107 19,101 20,120 21,99 22,104 23,97 24,110 25,103 26,101 27,46 28,99 29,111 30,109 接下来,您必须计算使用线性回归获得的集合的斜率和y截距,这是上面绘制的集合: 这导致最佳拟合线为(0索引): y = 0.014516129032258x + …
25 code-golf  string  math 

16
圣诞饼干神秘计算器
礼物已经打开。碎肉被吃掉了。观看了《星球大战》。圣诞节季节即将结束。到目前为止,您可能已经拉了几个圣诞饼干。如果你运气好,而不是通常的无用的塑料玩具,你可能已经赢得了神秘的计算器,使用它可以戏弄你的朋友和亲戚。 这个技巧包括6张卡片,每张卡片上都印有一个4x8的数字网格。每个卡包含整数的不同子集[1,63]。魔术师会要求您从一张卡片中选择一个号码,并将其保密。然后魔术师将询问哪些卡具有该号码。有了这些知识,魔术师将能够神奇地确定和披露猜测的原始数字。 完全按照以下步骤输出全套6张神秘计算器卡: 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 - - - - - - - - - - - 2 3 6 7 …


21
转换“ 0xUsernames”
0x用户名 有太多人在使用消息传递服务,以至于他们用光了存储所有用户名的空间!为了解决这个问题,他们将在可能的情况下开始以十六进制存储用户名。 如果用户名仅包含字符0123456789ABCDEF(不区分大小写),则可以将其转换为十六进制并存储为整数。例如,用户名ba5eba11可以解释为0xBA5EBA11十六进制整数。 但是呢05AB1E?那是一个前导零,它将丢失。因此,无论何时转换用户名,都必须1在将其读取为整数之前确保在前面加上a 。 挑战 您的任务是编写一个给定非空用户名作为字符串的程序或函数,以“六压缩”用户名: 如果可以将其解释为十六进制整数,则将1解释为十六进制,然后将结果打印为以10为基数。 否则,只需返回未修改的字符串即可。 这是代码高尔夫球,因此最短的解决方案(以字节为单位)获胜!允许内置的基本转换功能。 测试用例 您可以假设任何所得的整数都在您语言的标准整数范围内。 与大多数邮件系统中的用户名一样,输入字符串将仅包含字母数字和下划线。 请记住,您始终需要1在转换前添加前导! "ba5eba11" -> 7421737489 "05AB1E" -> 17148702 "dec0de" -> 31375582 "Beef" -> 114415 "da7aba5e" -> 7960443486 "500" -> 5376 "DENNIS" -> "DENNIS" "Garth" -> "Garth" "A_B_C" -> "A_B_C" "0x000" -> "0x000" 作为参考,这是我用于测试用例(无溶剂)的Python 3实现: import re def convert_name(name): …

2
下山羊化动物!
我的Downgoat头像有几个独特的功能 但是,这些功能也可以应用于任何其他动物。 规格 给定动物的图像(技术上可以是任何东西),您必须对其应用Downgoat属性。 边框像素是图像的最外面像素。 将背景颜色定义为边界像素最常用的颜色。当该颜色被解释为(r,g,b,a)颜色,并且每个通道都来自[0,256)时,背景被定义为给定像素的每个通道在“背景颜色”。 过程: 将背景和所有透明像素设置为#232323,RGBA(35, 35, 35, 1.00) 设置不属于后台的所有像素#FC0D1B,RGBA(252, 13, 27, 1.00)。 垂直反映图像 -1在图像的中央添加Arial字体的文本。文字的总高度应为图片最小尺寸(即min(width, height) * 0.25)的25%。 规则 随意假设字体已经安装 您的阈值应该是50,但是您也可以将此数字作为输入。您不会因此而减少任何字节数 有关与I / O格式有关的任何问题,请参考我们的映像I / O默认值。 图片尺寸始终至少为3x3 如果没有最常见的“边界像素颜色”,则使用哪种边界像素颜色作为“背景颜色”都没有关系,但是必须保持一致。 例子 输入: 输出: 输入: 输出: 输入: 输出: 输入: 输出: 输入: 输出: 更多例子? 可在此处获得在线实施:vihan.org/p/downgoatify/#50 这是代码高尔夫球,因此以字节为单位的最短代码获胜。祝好运!

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.