Questions tagged «code-golf»

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

7
查找最小和最大之间最长子序列的最大乘积
输入: 大于零的整数的非空序列,其长度大于1。 输出: 序列的最小和最大元素之间的最长子序列的所有元素的最大乘积,包括其自身。 注意: 因为最小和最大元素可以重复,所以必须找到确定的答案才能找到可能的最长子序列,该子序列的一端是序列的最小元素,而另一端是序列的最大元素。如果存在多个最长子序列,则选择乘积最大的子序列。 例子: 第一个例子: 输入: [5, 7, 3, 2, 1, 2, 2, 7, 5] 输出: 42 说明: min == 1,max == 7。有2个可能的子序列,末端分别为min和max:[1, 2, 2, 7]和 [7, 3, 2, 1]。它们的长度相等,因此比较乘积:7*3*2*1 == 42和1*2*2*7 == 28。因为42 >= 28,请回答:42。 第二个例子: 输入: [1, 2, 2, 2, 4, 3, 3, 1] 输出: …

17
中和数据
要中和数据,请将所有数字(非数字!)递归替换为零,并将所有字符(非字符串!)替换为空格。 您必须接受您的语言可以处理的任何单个数字,字符或字符串,或者可能是混合数字/字符数据的递归数组*。例如,如果您的语言可以处理,则必须接受实际的字符串(而不是将输入限制为单个字符的列表)。 如果您的语言包含一个内置的程序,可以完成所有或大部分任务,那么不提供该程序的话,我将不胜感激。 每种语言中提交时间最短的作品都是获胜者,我会收到我的支持。 样品盒 "" → "" 7 → 0 123.456 → 0 "X" → " " " " → " " "Yo!" → " " [] → [] [-1.2E3] → [0] ["Hey"] → [" "] ["H","e","y"] → [" "," "," "] ["R",2,"D",2] → [" ",0," ",0] ["C","3","P",0] → …

6
动画俗气的灯光装饰
这项挑战是为了纪念我在法律院里的俗气的圣诞灯。 面临的挑战是创建一个显示“实时”装饰的图形输出。 视频(gif或其他格式)将具有n×m的垂直和水平“灯光”。5 <= m,n <= 40。帧的大小和分辨率可能随n 和m的不同而变化,但对于n,m = 5(矢量图形是可以的),必须至少为50x50像素。带有和的图片如下所示:n=6m=5 装饰: 颜色: 所有的灯都会有以下6个RGB-的颜色之一{255,0,0},{0,255,0},{0,0,255},{255,255,0},{0,255,255}和{255,0,255}。 动画: n并将m以您喜欢的任何合理格式和顺序作为输入 图像每隔都会改变dt = 25 ms。如果是由于“外部因素”(例如解释器的限制,计算机运行缓慢等)导致的偏差,则可以。 如果无法手动设置时间步长,则接受默认时间步长。 所有指示灯在处将变为红色({255,0,0})t=0。 第一个灯(左上)总是有5%的机会改变颜色。所有颜色(当前具有的颜色除外)应该具有相同的可能性。 每个灯(第一个灯除外)将在其左侧获得灯的颜色。如果光源在最左边,那么它将获得上方行最右边的颜色。灯的编号如下所示。灯光编号k将获得灯光编号的颜色k-1。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 理论上,输出应该永远运行(除非您的语言/解释器有一定的限制,以防止这种情况)。 请提供至少5秒钟的样本,最好在答案中提供更多(这是一种鼓励,而不是要求)。(到TIO或类似的链接当然也可以:D) 可以接受框架,轴,网格线等。 6乘5 15乘30

6
魔镜疯狂
介绍 我的房间里装满了魔镜。它们是神秘的文物,可以复制任何物品,但另一个魔镜除外。更明确地说,该项目的重复版本将以相同的距离出现在镜子的另一侧。但是,如果在复制镜和任一物品(原始或复制品)之间的任一侧都有另一个魔术镜,则不会形成复制品。原始项目可以在镜子的左侧或右侧,并且重复项将出现在另一侧。而且,重复项本身可以被另一个镜像复制。项目永远不会阻止其他项目的重复(除非直接位于要复制的位置上)。 输入项 您的输入是一个由字符组成的字符串.#|,它们代表空白,物品和魔镜。输入中将始终至少有一个魔术镜。 输出量 根据上述规则,您的输出将是另一个字符串,其中每个魔术镜都复制了它可以复制的所有物品。您可以假设出现重复项的位置始终有一个空白空间(因此它们不会超出范围)。 例子 考虑输入字符串 .#.|.....|......# A B C D 为了清楚起见,我们在其中标记了一些位置。镜像B重复项item A,其最终在其右边: .#.|.#...|......# A B C D 镜像C然后复制新项目: .#.|.#...|...#..# A B C D 镜像C无法复制项目A,因为镜像B一直在进行中。它也不能复制项目D,因为镜像B在另一侧。同样,mirror B不能复制项D或旁边的重复项,因为mirror C妨碍了,所以这是正确的输出。 再举一个例子,考虑输入 .##..#...|#..##...|..##....#. AB C DE FG H IJ K 镜子D可以复制A和B右侧,并且E和G左侧。 C并且F已经是彼此的副本。字符串变成 .##.##..#|#..##.##|..##....#. AB C DE FG H IJ K Mirror H可以复制E,,F以及和的重复项,A以及B在右边和I左边的重复项。 …
22 code-golf  string 

12
得分之心
《红心大战》是一款供4位玩家玩的花样纸牌游戏。每把戏都是由打出领先套装最高牌的玩家所采取的。在每局结束时,玩家都会根据所持的罚卡获得罚分;任务是根据Microsoft Hearts规则确定分数。 输入项 输入的是4个列表(或定界字符串,数组等),显示4个玩家中每一个所拿的罚卡。罚卡是 2♥, 3♥, 4♥, 5♥, 6♥, 7♥, 8♥, 9♥, 10♥, J♥, Q♥, K♥, A♥, Q♠ 我们将表示为 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 0 分别。 输出量 输出是4个玩家(列表,字符串,数组等)产生的4个罚分。得分如下: 每个心脏(♥由整数表示1,以13含)招1点 黑桃皇后(以Q♠代表0)得13分 例外:如果一名玩家拿走了所有罚点卡(称为射月球),则他获得0分,而所有其他玩家得到26分。 测试用例 [2, 8, 7, 1], [3, 4], [], [9, 5, 6, …

10
简化数组
输入项 可以包含数组或正,连续,升序整数的数组。数组内部可以有任意数量的数组,依此类推。没有数组将为空。 输出量 这个数组简化了 如何简化数组 我们将使用数组[1, [2, 3], [[4]], [[[5, 6], 7, [[[8]]]], 9]]作为示例。 首先,我们检查值的嵌套深度。以下是深度和这些深度处的数字: 0 1 1 2 3 9 2 4 7 3 5 6 5 8 我们通过获取原始数组中的数字,按照嵌套的深度对其进行分组,然后将组嵌套在其元素原始深度的深度来构造输出数组。按升序和升序排列数字。 因此,我们的输出是 [1, [2, 3, 9], [[4, 7]], [[[5, 6]]], [[[[[8]]]]]] 例子 [1, [2, 3], [[4]], [[[5, 6], 7, [[[8]]]], 9]] …

24
将大石头变成小石头
欢迎来到研磨机。 您的任务是通过研磨将大石头变成小石头。 输入一块大石头,n > 3 然后磨碎。 将岩石倒入研磨机继续研磨,直到所有岩石的大小达到极限2。 岩石总是磨成相等的一半。如果研磨的结果是奇数,则取结果-1。 继续打印每个研磨的输出。 例子 输入: 5 输出: 22 结果是两个大小为2的岩石 输入: 50 输出: 2424 //two rocks of size 24 12121212 //four rocks of size 12 66666666 //8 rocks of size 6 2222222222222222 结果是16个大小为2的岩石 输入: 30 输出: 1414 6666 22222222 结果是8个大小为2的岩石 这是代码高尔夫球,所以最短的代码获胜!玩得开心,祝你好运!

7
不幸的数字!
要知道的事情: 首先,幸运数字。 幸运数字生成如下: 取所有自然数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20... 然后,删除每个第二个数字。 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39... 现在,3很安全。 删除每第三个数字: 1, 3, 7, …

25
Quine Anagrams!(警察的线)
这是警察的话题。有关强盗的线索,请单击此处。 警察的任务 首先,用您选择的语言写一个藜。 接下来,打搅奎纳。确保做得好,因为强盗将试图对其进行解读并找到原始源代码!请注意,加扰的代码不需要工作。 在此主题上发布答案。包括语言,字节数和加扰的代码。 您的程序可能无法打印到STDERR。 这是警察提交的示例: Python,29个字节 nt _%=_r;_riinp;pr_='t _%%%_' 强盗任务 有关强盗的线索,请单击此处。 安全提交 如果发布一周后您的提交尚未被破解,则可以添加解决方案并指定它是安全的。如果您不这样做,您的提交可能仍会被破解。 计分 这是代码高尔夫球,因此安全提交且字节最少的用户将是本节的赢家。 排行榜 这是一个堆栈片段,用于生成此挑战的排行榜。为了使其正确显示,请按以下所示格式化您的提交: # Language Name, N bytes ... other stuff ... 如果您提交的内容遭到破解,请采用以下格式: # Language Name, N bytes, [Cracked!](link) ... other stuff ... 如果您提交的内容安全,则格式如下: # Language Name, N bytes, Safe! ... other stuff ... …

1
解决网格图
该七巧板是由七个形状制成的夹层拼图:五种不同大小的三角形,平行四边形和正方形。给定形状,目标是使用所有零件且不重叠来重新创建形状。显然,有无数种方法可以将这组零件排列在平面上。一个有趣的子集是 网格七巧板 我们可以得出“标准”七巧板方成由细分更大的方形网格成16个个小方格。网格七巧板只是由七巧板块组成的形状,因此,这些块的所有顶点都在网格点上。 这些是我们在此挑战中要考虑的七巧板难题,因为它们可能比更一般的难题更容易处理。 附带说明:1942年,中国数学家熊传雄和王付特拉证明了只有13个凸七巧板。他们首先表明,可以将问题简化为网格七巧板,然后使用一些组合和几何参数。这些都是这13个: 挑战 给定可解决的网格七巧板,将网格七巧板的解剖输出为七个七巧板。 IO 七巧板以黑白图像形式给出(形状为黑色,背景为白色),两边的倍数均为50px。网格的宽度正好为50px。网格线平行于图像的侧面。 编辑:图像可以接受为输入,并以任何方便的光栅图像格式(如PNG,TIFF,PBM等)作为输出返回,但是可以将其表示为二进制2d数组或字符串或矩阵。 输出应再次具有相同的大小,并应再次具有相同的形状,但每个部件具有不同的颜色,或者用白线分隔所有部件。值得注意的是,非矩形四边形可以翻转。 块边界上的像素不必完全与形状上的像素匹配,如果存在锯齿效果或其他模糊现象,也可以。 输入和输出示例: 例子: 可能的解决方案:

8
产生模数红斑
很酷的东西 以下玫瑰色可以帮助计算模7。 为此,您必须从0开始并顺时针旋转第一个数字给出的若干步。然后,对于每个连续的数字,跟随箭头,然后顺时针旋转该数字给出的步数。 这是您处理294号的方法: 您从圈子0开始。 您顺时针旋转第一个数字给定的步数(即2,最终为2)。 您跟随那里的箭头(最终到达6)。 您顺时针旋转第二个数字给出的步数(即9,最终为1)。 您跟随那里的箭头(最终到达3)。 您顺时针旋转第三个数字给定的步数(即4,最终为0)。 294 mod 7 = 0(意味着294是7的倍数)。 (如果您仍然听不到视频说明) 目标 弄清楚它是如何工作的(我知道,但我不会告诉你)。 创建一个程序,该程序使用一个带数字n的参数,并为生成一个玫瑰红mod n。 玫瑰色可以通过任何您想要的方式显示(ASCII,生成PNG,生成SVG等),只要它可以被8岁的孩子使用(所以没有规则列表,我想要一张图片)! 您可以使用海峡线,即使它比我在本示例中所做的不够清楚,但您 必须使用某种咬尾箭头清楚地指出指向自己的数字。 测试用例 (我只给出数字之间的链接,一旦您的程序成功生成了它们,请随时编辑我的问题) 模式2: 0 -> 0 1 -> 0 模式3: 0 -> 0 1 -> 1 2 -> 2 模组4: 0 -> 0 1 -> 2 2 …

24
多种语言的Anagrams强盗的线
这是强盗的线程这个挑战 警察将选择一个OEIS序列,并用两种不同的语言编写两个完整的程序,当通过STDIN给出n时,该序列将生成序列中的第n个项目。这两个程序必须互为字母,这意味着每个程序都可以从对方的字母重新排列。 他们将提供OEIS编号,源代码以及所使用的一种语言的名称。 您必须找到原始警察提交的字谜的字谜,该字谜以与警察使用的语言不同的语言运行。要破解答案,您必须只找到能产生该序列并且是原文的字谜的任何语言和程序,而不一定是警察在考虑的答案。 您可以按字符代码输出,也可以在解决方案中包含STDERR,但前提是警察已表明他们的隐藏解决方案可以这样做。十进制输出到STDOUT始终是有效的破解。 因此,激励警察使其尽可能地难以使用其符号列表来找到完成任务的任何语言。 计分 裂缝最多的人将是本节的获胜者。每个解决方案的仅第一个裂缝将计入一个人的分数。 排行榜 非常感谢参与此挑战的每一个人。 这是目前的排行榜 Place User Score ----------------------------- 1 Adnan 3 1 Kritixi Lithos 3 1 Emigna 3 1 milk 3 5 Steven H. 2 5 Wheat Wizard 2 5 jimmy23013 2 8 ETH Productions 1 8 Dennis 1 8 alleks 1 8 …

15
运算符ASCII艺术
挑战 从下面的列表中给定一个ASCII运算符,并给它一个数字n,使用该运算符作为字符,画出该运算符的ASCII表示形式,该运算符的线段长度为n。 输入项 列表中的ASCII字符= + - x /和n其中的整数n >= 1。(我使用x代替*和/代替÷,但您可以使用其中任何一个,以较容易的一个为准)。对于+和x,您只需要处理奇数即可避免对齐问题。 输出量 由长度为n的字符组成的运算符的ASCII绘图。水平部分的字符之间应有空格,以抵消垂直/水平距离的差异。 规则 这是代码高尔夫球,因此以字节为单位的最短代码获胜。禁止出现标准漏洞。 例子 输入: + 3 + + + + + 输入: = 4 = = = = = = = = 输入: = 10 = = = = = = = = = = = = = …

30
逐行导出$ PATH变量
受到AskUbuntu上这个问题的启发。 您的工作非常简单。获取PATH环境变量(echo $PATH)并将其导出,以使每个条目(由:字符分隔)都位于其自己的行上。 例如,如果PATH为/bin:/usr/bin:/usr/local/bin,则程序应输出: /bin /usr/bin /usr/local/bin 您的程序可能不会返回前导换行符,但可能会返回单个尾随换行符。您无需检查PATH是否正确或目录是否存在。您的程序不应输入任何内容,这意味着您的程序负责获取PATH本身。您可以放心地假设PATH中的对象不包含:或换行符。但是,空间是公平的游戏。 在上述问题的答案中提供了参考实现。 规则 (显然)这是代码高尔夫球,因此最短的答案将赢得宝贵的绿色对勾。 接受的答案将经过测试以确保它是合法的。 Windows和* nix条目均被接受。 但是,如果您未明确指定Windows,我将尝试在Linux中运行它并失败。(如果很明显(嗨,Batch!),则无需显式指定。) 每个答案只有一个解决方案。如果您同时拥有Windows和* nix版本,我将计算较短的版本。 如果两个答案的长度相同,我将优先考虑总票数较高的一个。如果他们的投票总数相同,我将计算较大的一票。如果发布的时间相同,我将选择执行速度更快的时间。如果它们执行的时间相同,我不知道。 排行榜 显示代码段 var QUESTION_ID=96334,OVERRIDE_USER=15422;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:+a[2],language:a[1],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=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/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} …
22 code-golf  string 

30
画一个字母派对帽
您的任务是打印以下确切文本: z yz xyz wxyz vwxyz uvwxyz tuvwxyz stuvwxyz rstuvwxyz qrstuvwxyz pqrstuvwxyz opqrstuvwxyz nopqrstuvwxyz mnopqrstuvwxyz lmnopqrstuvwxyz klmnopqrstuvwxyz jklmnopqrstuvwxyz ijklmnopqrstuvwxyz hijklmnopqrstuvwxyz ghijklmnopqrstuvwxyz fghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz defghijklmnopqrstuvwxyz cdefghijklmnopqrstuvwxyz bcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz 大小写无所谓。 请记住,这是code-golf,所以字节数最少的代码将获胜。

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.