Questions tagged «code-golf»

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

30
制作;#解释器
我最近创建了一种新语言;#(发音为“ Semicolon Hash”),它只有两个命令: ; 向累加器加一 #对累加器乘以127,对ASCII字符进行转换,然后输出而不带换行符。此后,将累加器重置为0。是的,正确的是127。 其他任何字符都将被忽略。它对累加器没有影响,什么也不做。 您的任务是为这种强大的语言创建一个解释器! 它应该是完整程序,也可以是将;#程序作为输入并产生正确输出的函数。 例子 Output: Hello, World! Program: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# Output: ;# Program: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# Output: 2d{ (unprintable characters here; should have 4 `\000` bytes between the `d` and the `{` and 3 after the `{`) Program: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;hafh;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;f;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###ffh#h#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ffea;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#au###h;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o Output: Fizz Buzz output Program: link below Output: …

30
最短的自毁循环
你的任务是写一个完整的程序或功能,它没有任何投入和运行任何类型的循环(中while,for,foreach,do,do-while,do-loop,goto,递归等),将在导致一个错误,这意味着程序必须自行停止运行,并结束出口。 规则: 该错误必须是运行时错误,未处理的异常或任何使程序本身终止的错误。 该错误必须使程序停止并退出程序,而无需exit;在某个时刻显式(或等效)调用。 诸如Warning:,Notice:等之类的不会导致程序本身结束的消息是无效的。例如,在PHP中被零除会产生一条Warning消息,但程序不会停止并且仍会运行,这不是有效答案。 循环必须至少运行一个完整周期。换句话说,错误可能会在第二个周期开始或更远的时间发生。这是为了避免使用不正确的代码语法导致错误:该代码在语法上必须正确。 for(;;);如果遵循上述规则,则该循环甚至可以是无限循环(示例),但是结束运行时错误必须花费不超过2分钟。 无尾调用优化的递归是无效的(1,2)。 这是代码高尔夫球,因此最短的代码获胜。 禁止出现标准漏洞。 C#示例(在线测试): using System; public class Program { public static void Main() { int i; int[] n; n = new int[5]; for(i=0; i<7; i++) { n[i] = i; Console.WriteLine(n[i]); } } } Output: 0 1 2 3 4 Run-time exception (line …
61 code-golf 

30
使您的语言*大部分*无法使用!(警察的线)
受到此评论的启发... 多亏了用户Step Hen,Wheat-Wizard和Dennis,他们在发布之前帮助我巩固了这一挑战的规格! 这是警察的话题。有关强盗的线索,请转到此处 在这个挑战中,您需要运行一些代码来使您的语言不再满足我们成为编程语言的条件。在这一挑战中,这意味着要做到这一点,以便不再能使用该语言... 进行数字输入和输出 将两个数字相加 测试某个数字是否为质数。 这是警察和强盗的挑战,其中有两个不同的挑战,目标是两个不同:警察将尝试编写一些使该语言几乎不可用的代码,而强盗将尝试找到允许警察使用的隐藏变通方法恢复他们的语言。 作为警察,您必须编写两个代码段: 一种使您的语言几乎不可用的方法,例如,通过删除用于进行输入/输出和数字运算的内置函数。您删除的功能越多越好。此代码是不是允许崩溃或退出。应该可以在此代码段的末尾添加代码,并且该代码将得到评估。和... ...将两个非负整数作为输入,将它们加在一起并输出其和的代码段。即使运行第一个代码段后,该代码段也必须仍然能够正常运行。当两个代码片段组合在一起时,它们必须形成一个将两个数字相加的完整程序,或者定义一个将两个数字相加的函数。理想情况下,此代码段应依赖于非常晦涩的行为,以便更难找到。 您可以选择任何标准的输入和输出方法。但是,您必须准确显示所使用的格式(输入和输出)。除非他们使用与您相同的格式,否则强盗无法破解您的答案。 编写完这两个片段后,您必须发布第一个片段作为答案,而不必透露第二个片段。您的答案应包含以下所有信息: 第一个摘要(显然不是第二个)。 语言(包括次要版本,因为大多数提交可能都依赖于奇怪的情况) IO格式,包括功能或完整程序。强盗必须使用相同的格式来使破解生效。 任何奇怪的情况下,您的答案才能起作用。例如,仅在linux上运行,或者需要Internet连接。显然,这是有点主观的,但是如果警察具有某种极端的边缘情况以防止其破裂,然后仅在安全后才显示出来,我认为这是差劲的运动精神。潜在的抢劫犯应该掌握所有必要的信息,以便在破解之前将其破解。 除非您的答案是安全的,否则您无需透露字节数。 这是一个例子。对于第一个代码段,您可以提交以下Python 3程序: Python 3 print=None 从STDIN接收输入并输出到STDOUT 然后作为第二个片段,您可以编写: import sys a,b=int(input()),int(input()) sys.stdout.write(a+b) 这是有效的,因为它将两个数字作为输入,并且即使您将两个摘要合并在一起也可以输出它们的总和,例如 print=None import sys a,b=int(input()),int(input()) sys.stdout.write(a+b) 但是,这对于抢劫犯来说非常容易找到解决方案。由于这很容易破解,因此您可以尝试修补这种特定方法,如下所示: import sys sys.stdout=None print=None 但是,即使这样也有非常简单的解决方法: del print a,b=int(input()),int(input()) print(a+b) 作为警察,您的目标是使隐藏的变通办法尽可能模糊,以防止强盗找到它。 该劫匪会看你的答案之一,并试图破解它。他们可以编写任何可以用作代码片段2的有效代码片段(在使该语言几乎不可用之后将两个数字加在一起)来破解它。但这不是必须是相同的片断,你原本打算。如果强盗破解了您的答案,他们将在您的答案上留下评论,然后您应对其进行编辑以表明它已被破解。如果您的帖子被破解,则应编辑答案以显示您最初打算的解决方案(代码段2)。这本身不是规则,只是为了保持游戏趣味性的友好建议。你不必。 如果一个星期都没有弄清答案,则可以在第二个片段中进行编辑,并指出您的答案现在是安全的。如果您在一周结束后仍未对其进行编辑,则其他用户仍可以对其进行破解,直到您这样做为止。如果您不显示第二个摘要,则无法为您的答案要求分数,也可以称之为安全。 警察线程的胜者是最短的安全答案,包括两个摘要(以字节为单位),并且经过足够的时间后,才会接受此答案。你不是要透露你的字节数,直到你的答案是安全的,因为字节数无关,你的分数,直到你的答案是安全的。如果有足够的时间过去,并且没有答案,那么赢家将是在最长时间内保持不变的答案。 …

28
为什么6害怕7?
为什么6害怕7?因为7 8 9! 给定字符串,请执行以下转换: 如果7旁边有6,则删除6(6害怕7) 如果出现序列“ 789”,则删除8和9(7 ate 9) (如果我没记错的话,以什么顺序进行转换都没关系) 继续应用这些转换,直到不再使用。 例: 78966 首先我们看到“ 789”,因此字符串变成“ 766”。然后我们看到“ 76”,所以我们取出6,字符串变成“ 76”。然后我们再次看到“ 76”,所以我们剩下“ 7”。 测试用例: 987=> 987(顺序不正确。不执行任何操作。) 6 7=> 6 7(空格用作6到7之间的缓冲区。什么都没有发生) 676 => 7 7896789 => 77 7689 => 7 abcd => abcd
61 code-golf  string 

15
我讨厌文件名中的空格
很简单。当人们在命名文件时使用空格时,我无法忍受。有时会破坏控制台命令,并使ls的输出变得难看。 挑战是编写一个程序(仅ASCII字符), 将当前目录中的所有文件(包括目录)重命名为已删除空格或由'_'代替的版本 发生碰撞时,您需要附加一个唯一的标识符(由您自己决定) 递归地进入所有子目录 您可以采用UNIX样式的路径名。无论如何,谁会在Windows计算机上需要此程序? 这是代码高尔夫,最短的程序获胜(#ascii字符)。由于我非常讨厌空格,因此每个空格必须计数两次。 请提供您的语言,分数,程序以及运行方式的简短说明。 该程序必须在我的Linux机器上进行合理的编译和执行。 编辑:由于Etan请求测试的文件结构,这是我当前用来创建合适的文件树的脚本: #!/bin/bash rm -r TestDir touchfiles() { touch my_file touch my__file touch "my file" touch "my file" touch " my_file " } mkdir TestDir cd TestDir touchfiles for dir in "Test Sub" Test_Sub "Te stSub" Te_stSub do mkdir "$dir" cd "$dir" …

30
编程语言测验,Mark II-警察
这个挑战的转贴。元讨论。沙盒发布。问题的主体与原始的相似 强盗的挑战 这位警察和强盗现在(2018年8月3日)不接受进一步竞争的警察参赛,因为强盗可能不再竞争公开答案,而是随时发布新答案。 丹尼斯以出色的6字节Sesos答案赢得了警察挑战赛 强盗挑战赢得了全人类的惊人的30条裂缝! 警察的挑战 参加警察比赛: 选择一种编程语言。一种有效的编程语言是可以满足以下所有三个条件的语言: 发布此挑战时,该文章有英文Wikipedia文章,esolangs文章或Rosetta Code文章,或者在“ 在线试用”上!。在这些页面中的任何一个链接都有口译员,使该口译员完全合法。 它必须满足我们关于构成编程语言的规则 它必须有一个免费的口译员(如啤酒)。这里免费意味着任何人都可以使用该程序而无需付费。 编写一个完整的程序,以升序输出从1到100(包括1和100)之间的数字。您可以输出为十进制整数,字节码值(!例如,代表33)或一进制数字(例如,代表11114)1。如果使用一元数,则应对数字使用任何一致的字符,并使用不同的一致的字符作为分隔符。如果使用整数,则应在每个数字之间输出一个恒定的非数字定界符。您也可以输出带有前导和尾随字符(例如[]),但请保持明智(例如,不要在计数的两边输出一千个字节的垃圾)。您必须在答案中指定输出格式。 您不得使用REPL环境或现有的样板代码。可以使用标志,但是您必须揭示答案中使用了哪些标志。该程序必须采用一个或多个源文件的形式(以排除诸如Folders之类的古怪语言),并且必须完全适合您的答案(因此其长度不能超过65,536个字符)-这对于任何认真的意见。 如果您的代码包含可打印ASCII +换行符之外的字节,请提供一个十六进制转储以确保您的代码可实际测试。 该程序必须在典型的台式PC上在5分钟内终止。 而已。但是,与所有内容一样,有一个陷阱。由于强盗的任务是猜测您使用的语言,因此您应该尽可能地使程序模糊。您还应该确保程序只能以预期的语言运行(尽管与原始挑战中的Foo破解相比,这可能是个小问题)。输出格式必须与预期的解决方案相同,以构成有效的破解。 一旦7天有没有人发现过的任何地方你的程序是有效破解的语言,你可以展示的语言并将其标记为safe。请注意,您的提交仍然可以被破解,直到您透露语言为止。 一旦发布,您在任何情况下都不得编辑提交的源代码(因为这可能会使强盗试图破解答案的积极尝试无效)。因此,在发布之前,请确保尽可能(或不敢)打高尔夫球。如果您发现答案发布后仍然无法使用,只需删除答案并发布固定版本即可。 以字节为单位的最短安全提交方式将获胜! 1:如果您希望以其他方式输出,请在评论中询问 堆栈片段 您可以使用此堆栈片段更轻松地浏览答案: answersSafe=[];answersCracked=[];answersUncracked=[];answerPage=1;robberTodo=[];userNames={};robberMap={};robberStats={};robberTimes={};function template($element,data){var $clone=$element.clone().removeClass('template');var html=$clone.html();for(var key in data){html=html.replace('{'+key+'}',data[key])}$clone.html(html);$element.after($clone)}function hideEmpty(){$('tbody').each(function(){if($(this).find('tr:not(.template):has(td)').length==0){$(this).find('tr:not(.empty):has(th)').addClass('inactive');$(this).find('tr.empty').removeClass('inactive')}})}function formatError(obj,reason){template($('.warn.template'),{id:obj.cop_id,cop:obj.cop_user,reason:reason})}function showAnswers(category,selector,sorter){sorter(category);$('#'+selector).find('tr:not(.template):has(td)').remove();$.each(category,function(i,answer){template($('#'+selector+' .template'),answer)});$('code:has(br)').addClass('clickable').click(function(){$(this).toggleClass('full')});updateCountdowns()}function getAnswers(){$.ajax({url:"https://api.stackexchange.com/2.2/questions/155018/answers?pagesize=100&order=desc&sort=creation&site=codegolf&filter=!*LUzJZNOIUpZsWsZBLe&page="+(answerPage++),method:"get",dataType:"jsonp"}).then(function(data){$.each(data.items,function(i,answer){var obj={cop_id:answer.answer_id,cop_user:answer.owner.display_name,cop_time:answer.creation_date,safe_on:answer.creation_date+604800};var $e=$('<div/>').html(answer.body);var $headers=$e.find(':header');if($headers.length==0){return formatError(obj,"no header")}var header=$headers.first().html();var $code=$e.find('pre code');if($code.length==0){return formatError(obj,"no code")}obj.code=$code.first().html().replace(/\n/g,'<br/>');if(obj.code.endsWith('<br/>')){obj.code=obj.code.slice(0,-5)}var bm=/(\d+)\s+bytes/.exec(header);if(bm==null){return formatError(obj,"no bytecount")}obj.size=parseInt(bm[1]);if(obj.size==NaN){return …

30
有损排序(实施Dropsort)
由David Morgan-Mar设计的Dropsort是线性时间“排序算法”的一个示例,该算法可以生成实际上是已排序但仅包含某些原始元素的列表。任何不小于其最大元素数量的元素都将从列表中删除并丢弃。 在此任务中,将为您提供一个整数列表作为输入(STDIN或函数参数,要求您至少支持8位有符号整数的范围。)您的任务是对它们进行dropsort,然后将剩余的元素输出到订购。 您可以假定列表为非空。 这是代码高尔夫,所以最短的程序会获胜。 测试用例 Input Output 1 2 5 4 3 7 1 2 5 7 10 -1 12 10 12 -7 -8 -5 0 -1 1 -7 -5 0 1 9 8 7 6 5 9 10 13 17 21 10 13 17 21 10 10 10 …

15
画出欧元符号
目标是根据以下规范输出或显示带有€(欧元)符号的图像(忽略符号的边框)。 来源:http : //en.wikipedia.org/wiki/File : Euro_Construction.svg 规则: 程序/脚本必须将€符号的高度(以像素为单位)作为参数(符号周围的空白是可选的) 的€符号不能被绘制为或从字符,直接(它禁止print所述€图像中)或间接(计算8364然后在HTML页面显示它) 输出不需要保存到任何文件,可以显示然后将其显示为屏幕截图 禁止使用标准“漏洞” 最短的代码胜出

5
黑色和白色的彩虹
给定一个图像,该图像仅包含黑白像素,并且(x,y)位置是白色像素,请根据白色像素与(x,y)的最小曼哈顿距离为它们着色,该路径仅涉及遍历其他白色像素。 彩色像素的色相必须与其与(x,y)的距离成正比,因此(x,y)处的像素的色相为0°(纯红色),而距(x,y)的像素最远将具有360°的色相(也为红色),其他色相之间无缝且线性地混合。的饱和度和值都必须是100%。 如果白色像素未通过其他白色像素连接到(x,y),则它必须保持白色。 细节 输入将包含图像的文件名或原始图像数据,以及x和y整数。 可以将输出图像保存到文件中,或以任何常见图像文件格式将其原始传输到stdout,或简单地显示出来。 x值在最左边的像素为0,向右增加。y值在最上面的像素中为0,并随着下降而增加。(x,y)将始终在图像范围内。 完整的程序和功能都被允许。 以字节为单位的最短代码获胜。 例子 所有这些图像均已缩小以节省空间。单击它们可查看完整尺寸。 输入图片: (x,y) = (165,155) 和 (x,y) = (0,0) 输入图像并输出(x,y) = (0,0): 输入图像并输出(x,y) = (600,350): 输入图像并输出(x,y) = (0,0): 输入图像并输出(x,y) = (0,0): 可选的-30%奖金:使用欧几里得距离。有关您的算法的建议如下(总体概述): 有一个开始像素。 从该像素进行洪水填充。 对于泛洪填充中达到的每个像素, 从开始像素到该像素以半个单位的步长直线移动。 在每个步骤中,将其应用于int()x和y坐标。如果这些坐标处的像素为黑色,请停止。否则,请继续。(这是一种视线方法。) 任何与白色像素和/或先前用明显更高的距离(即+10)标记的像素接壤的到达像素都将成为起始像素。 从更广义的意义上讲,该算法从起始像素/已经彩色的像素开始沿直线扩展到每个像素,然后沿边缘“英寸”延伸。“明显更高的距离”位用于加速算法。说实话,它并不真正的问题是如何在实现欧氏距离,它只是看起来很像这一点。 使用上面的算法,这是第一个具有欧几里得距离的示例的样子: 输入图像和 (x,y) = (165,155) 非常感谢Calvin'sHobbies和trichoplax帮助编写此挑战!玩得开心!

30
用6乘9会得到什么?(42)
我爱数学。但是我找不到一个可以正确相乘的计算器。他们似乎把6 * 9以外的所有东西都弄对了(这是生命,宇宙和一切的问题!他们怎么会出错?!)。因此,我希望大家为我编写一个可以正确乘以2的函数(并且6 * 9等于42而不是54。9* 6仍等于54)。 哦,我将不得不在Minecraft中构建源代码,以便……赢得最少的字节! 概括 以2个数字作为输入(类型无关紧要,但是只传递2个项目,并且顺序必须一致。因此,流和数组只要保留它们传递的顺序就可以。)无法正常运作,因为它无法保留订单) 输出两个数字的倍数,除非它们分别为6和9,然后输出42(顺序很重要!) PS。我从未真正擅长计数,因此我认为只有0到99的整数是实数(使用的类型无关紧要) 每种语言的最少字节数获胜! 排行榜: 显示代码段 var QUESTION_ID=124242,OVERRIDE_USER=61474;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+r.match(SCORE_REG)[0],language:r.match(LANG_REG)[0].replace(/<\/?[^>]*>/g,"").trim(),link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/\d+((?=$)|(?= Bytes))/i,OVERRIDE_REG=/^Override\s*header:\s*/i;LANG_REG=/^[^,(\n\r]+/i body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" …

30
画我的斜线
作为程序员,您可能听说过正斜杠和反斜杠。但是您听说过减斜线吗?那是当您采取一堆斜线,连接它们的末端并使其下降时。 对于今天的挑战,您必须编写一个程序或函数,该程序或函数采用一个纯粹由斜杠组成的字符串,并输出在连接它们的直线中向下绘制的所有斜杠。如果您看到一个示例,这将更加清楚。给定字符串\\\//\/\\,您应该输出: \ \ \ / / \ / \ \ 以下是一些说明: 每行必须有一个斜线。 第一行将有0个前导空格。 对于每对斜杠: 如果它们彼此不同,则将它们绘制在同一列中。例如,\/将给出: \ / 如果它们是相同字符,则下一个字符指向的方向,即向右移动一个反斜杠,向左移动一个正斜杠。所以\\//会给 \ \ / / 每行可能会有多余的尾随空白,只要这不会改变输出的视觉外观。最多也可以使用一个尾随且领先的换行符。不允许有多余的前导空格! 为了简化操作,您可以假设该字符串永远不会包含太多的正斜杠。换句话说,输入的前缀不会包含比反斜杠更多的正斜杠,因此永远不会给出类似\\////或的输入//。这也意味着每个输入都将以反斜杠开头。 如果将输入作为字符串文字使用,则必要时可以转义反斜杠。您也将永远不需要处理空的输入或包含除斜杠以外的字符的输入。 您可以采用任何合理的格式输出。 像往常一样,这是一个挑战代码的挑战,因此即使您选择的语言很难,也请尝试提供最短的解决方案。奖励积分,用于解释您曾经剥夺字节数的任何有趣技术! 例子 #Input \\\\\\\\\\\ #Output \ \ \ \ \ \ \ \ \ \ \ #Input \\\//\\/\//\\/// #Output \ \ \ / …

12
ASCII火车高尔夫
考虑这七辆ASCII火车。 引擎(E) __ ====== \/ | [] |========= | ) ================ O-O-O O-O-O \\ 乘用车(P) =============== | [] [] [] [] | =============== O-O O-O 棚车(B) =============== |-|-| | |-|-| =============== O-O O-O 油轮(T) _____---_____ ( ) =============== O-O O-O 料斗(H) _______________ \ | | | | | | / …

30
打印代码的最后,中间和第一个字符
挑战很简单:按顺序打印程序源代码的最后,中间和第一个字符。 假设n字符的源长度和1索引,中间字符的定义如下: 如果n是偶数,则打印n/2-th和n/2 + 1-th字符。(abcdef == cd) 如果n为奇数,则打印(n-1)/2 + 1第-个字符。(abcde == c) 规则 如果没有输入,则以形式打印源代码中的最后,中间和第一个字符[last][middle][first]。这将是3-4个字符长。 输出不得包含任何尾随空格。但是,如果空白是第一个,中间或最后一个字符,则必须这样打印。 源代码必须为n >= 3字符长。 代码必须包含>= 3唯一字符。 禁止出现标准漏洞。 这是代码高尔夫球,因此以字符为单位的最短解决方案将获胜。 样品 # Form: [code] --> [output] xyz --> zyx abcd --> dbca 1 --> # not allowed: too short abcde --> eca aaabb --> # not allowed: not …
60 code-golf  quine 

30
Oreoorererereoo
Oreoorererereoo 给定与单词“ oreo”相似的输入字符串,请给出与输入字符串一样宽的cookie的ASCII表示形式(以确保cookie的稳定性)。 规则 输入为小写字母,这是一个非空字符串,不包含空格,其中包含字符串“ o”和“ re”的任何组合,并且仅包含那些字符串。 字符串“ o”代表固态饼干,而字符串“ re”代表馅料。 输出必须是与输入字符串一样宽的堆叠cookie。 输出可能不是字符串数组 Cookie的每一边必须与填充物重叠一个字符 用于输出的字符不必与下面的输出(█和░)匹配,对于Cookie的两个部分,它们必须是不同的非空白字符 填充左侧的空白填充是必需的,任何结尾的空白都是可选的 例子 Input: oreo Output: ████ ░░ ████ Input: o Output: █ Input: re Output: (two spaces) Input: rere Output: ░░ ░░ Input: oreoorererereoo Output: ███████████████ ░░░░░░░░░░░░░ ███████████████ ███████████████ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ███████████████ ███████████████ 因为这是代码高尔夫球,所以最短的答案会获胜,祝您好运:)

30
这不是火箭科学
编写一个包含单行字符串的程序或函数。您可以假定它仅包含可打印的ASCII。打印或返回ASCII艺术火箭的字符串,例如 | /_\ |E| |a| |r| |t| |h| |_| /___\ VvV 输入字符串从上到下写在机身上。在这种情况下,输入为Earth。火箭的高度(包括火焰)始终是弦的长度加五。 输出中的每一行最多可以有两个尾随空格,并且可能只有一个可选的尾随换行符。以字节为单位的最短代码获胜。 更多示例: [empty string] | /_\ |_| /___\ VvV a | /_\ |a| |_| /___\ VvV |0 | /_\ ||| |0| |_| /___\ VvV \/\ | /_\ |\| |/| |\| |_| /___\ VvV _ _ [note trailing space] …

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.