Questions tagged «code-golf»

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

18
构造梯子
介绍 我想搭梯子。为此,我从垃圾场清理了两个长板,其中有孔,我想将台阶放到这些孔中。但是,孔的位置不均匀,因此步骤会有点儿摇晃,我发现很难估算出我需要的杆数量。你的工作是为我做计算。 输入项 您的输入是两个位向量,以整数数组形式给出,代表了两个板。A 0代表一个不带孔的1 aud的片段(距离的任意单位),而a 1代表一个不带孔的1 aud的片段。数组的长度可能不同,并且包含不同数量1的,但是它们不会为空。 我将按以下方式构造我的梯子。首先,我将两块电路板精确地相距一个aud,然后对齐它们的左端。对于每个索引i,我测量i第一块板的i孔与第二块板的孔之间的距离,切下一根杆,然后将其连接在两个孔之间。一旦我在其中一块板上的孔用完了,我就会停下来。 输出量 您的输出是我将要执行的步骤所需的总杆数,以奥德为单位。输出应正确至少为六个有效数字。 例 考虑输入[0,1,1,0,1,1,1,1,0,0]和[1,0,0,1,1,1,0,0,1]。生成的梯形看起来像这样: 该梯子7.06449510224598中杆的总长度为奥兹。 规则 您可以编写函数或完整程序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 [0] [0] -> 0.0 [0] [1,0] -> 0.0 [1,0,0] [1,1,1,1,1] -> 1.0 [0,1,0,1] [1,0,0,1] -> 2.414213562373095 [0,1,1,0,1,1,1,1,0,0] [1,0,0,1,1,1,0,0,1] -> 7.06449510224598 [1,1,1,1,1] [0,0,1,1,0,1,0,0,1] -> 12.733433128760744 [0,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0] [0,0,1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1] -> 20.38177416534678

30
CodeGolf-头或尾
使用说明 给定一个未知的输入字符串i与任一值的头或尾,返回1的头或-1用于尾巴用最短的代码。 样本未打高尔夫球的代码(55b): if(i == "heads"){ print(1); }else{ print(-1); } 示例高尔夫球代码(16b): print("t">i||-1) 示例中使用了Javascript,但这不是必需的。抱歉,如果对于大多数用户来说太简单了,可以对其进行改进。
26 code-golf  string 

25
列表范围内的首页
挑战很简单,就是返回一个整数列表的列表,类似于Python range函数,只是每个连续的数字必须深于列表。 规则: 创建程序或非匿名函数 它应该返回或打印结果 结果应以列表(列表)或数组(数组)返回 如果参数为零,则返回一个空列表 这应该能够处理整数参数0 <= n <70。 (递归解决方案很快就爆炸了) 该函数只能使用一个参数调用。 其他行为是不确定的。 这是代码高尔夫,所以最短的代码获胜。 呼叫范例: rangeList(6) > [0, [1, [2, [3, [4, [5]]]]]] 测试用例: 0 => [] 1 => [0] 2 => [0, [1]] 6 => [0, [1, [2, [3, [4, [5]]]]]] 26 => [0, [1, [2, [3, [4, …

30
列表的模式(最常见的元素)
编写一个片段以计算正整数列表的众数(最常用的数字)。 例如, d = [4,3,1,0,6,1,6,4,4,0,3,1,7,7,3,4,1,1,2,8] 是1,因为它最多出现5次。 您可以假定列表存储在诸如中的变量中,d并且具有唯一模式。 例如:Python,49岁 max(((i,d.count(i))for i in set(d)), key=lambda x:x[1]) 这是代码高尔夫球,因此以字节为单位的最短解决方案为准。

9
高尔夫维恩图生成器
高尔夫维恩图生成器 为了恰当地庆祝约翰·维恩诞辰180周年,今天的任务是创建一个输出维恩图的程序! 输入: 一个正整数N,它将定义图中显示的数字范围(从零到N)和三组正整数。 输出: 3集维恩图,显示从0到0的所有整数,N并通过在图的适当区域中显示它们(类似于此整数)来显示集合之间的关系。 笔记 使用stdin(或与您的语言等效的任何语言)获取值。 您可以定义集合和集合的输入格式N(以逗号,斜杠或最适合您的形式分隔)。 未出现在任何集合中但在指定范围内的数字必须出现在图表上,而不是在任何区域内。 这些集无需命名。 输出可以是图形或ascii-art。 该图可以具有任何形状,只要边界可以清楚地区分即可(例如,如果您选择ASCII艺术作品,则必须使用+(或类似符号)来跨越边界)。 区域可能但不必着色。 禁止生成Venn图的任何内置函数或第三方库。 适用标准漏洞。 这是code-golf,因此以字节为单位的最短代码胜出。

15
最短代码,随机放置点并连接它们
任务 这是一个非常简单的编码任务,您的程序所要做的就是将一个点放置在画布上(或用另一种编码语言替代),并将其连接到所有已放置的点上。您的程序必须接受一个输入,即应放置的点数,并在连接点的情况下输出某种显示。 例 要求 我必须能够运行它,这意味着它必须具有编译器/工具才能在线运行或公开下载。 允许您使用在设置此挑战之前创建的任何库,只要它并非旨在解决该问题的唯一目的即可。 这是最短的代码任务,即字符。注释,更改颜色的代码(用于修饰)和库将被忽略。 您的答案必须是唯一的,不要窃取其他人的代码,请缩短一些字符并重新发布。 它必须能够在5分钟内运行(值5和100)。它还必须使用至少200 * 200的分辨率,并使用非平凡的分布将每个点放在画布上的随机位置。 现任排行榜 Flawr - Matlab - 22 - Confirmed Falko - Python 2 - 41 - Confirmed Wyldstallyns - NetLogo - 51 - Confirmed Ssdecontrol - R - 66 - Confirmed David - Mathematica - 95 - Confirmed ILoveQBasic - …
26 code-golf 

22
找到第N对双素数
如果两个质数相差两个,则被定义为双质数。例如,3和5是双素数,29和31也是双素数。 编写一个程序,查找第n对孪生素数(其中n来自STDIN)并将其打印在STDOUT上,并用逗号和空格分隔。这是代码高尔夫球,因此最短的代码获胜。 输入样例: 3 样本输出: 11, 13
26 code-golf 

7
哪个更好-Emacs还是Vim?(谷歌打架)
问候,高贵的高尔夫球手。今天,您将解决最古老,最著名的辩论-Emacs还是Vim? 您面临的挑战是将两个搜索词作为输入,并输出其中哪个词具有最多的Google搜索结果。(这显然是完全公平的。您是什么意思,有偏见?) 以下是一些示例输入和输出: 输入:emacs和vim 输出:(vim在注释中完全不产生任何争论) 输入:google和microsoft 输出:google 输入:code golf stack exchange和code review stack exchange 输出:(code golf stack exchange是的!) 以下是一些有趣的例子(用于测试您的解决方案): 输入:About 1,000,000 results和About 100,000 results 输出:About 100,000 results 输入:This will autocotrect和Another testcase 输出:(Another testcase如果您不考虑自动更正,那么第一个将获胜) 对于以下测试用例,必须先删除#搜索词中的符号,因为它们依赖于具有特定数量结果的术语,并且在此处张贴该术语会破坏它们。 输入:Thissear#chter#mhasno#results和Another testcase 输出:(Another testcase仅测试零结果) 输入:"These exact wo#rds do#n't exi#st# on the Internet"和Another testcase 输出:(Another testcase测试") 输入:Abo#ut …

7
oke球模拟器
在《口袋妖怪》电子游戏中,玩家被派往世界,迫使野生动物变成小球,并训练它们战斗。当然,每个人都知道没有人在战斗中扮演口袋妖怪。该系列真正吸引人的是神奇宝贝!您的工作是在捕获尝试期间模拟the球。这项挑战将使用V代捕获公式,如下所示: HP_max等于目标宠物小精灵的最大生命值。HP_current等于目标宠物小精灵的当前生命值。rate是口袋妖怪的捕获率,bonus_ball是掷出的口袋妖怪的乘数,bonus_status如果目标口袋妖怪处于睡眠或冷冻状态,则为2.5;如果目标口袋妖怪瘫痪,中毒或燃烧,则为1.5;否则为1。 找到后a,您最多要执行三个“抖动检查”。摇动检查成功的概率为65536 / (255 / a)^(1/4)。如果这些检查中的任何一项失败,则口袋妖怪会逃脱其球。如果所有三个检查均成功,则将捕获口袋妖怪! 注意:无论何时执行除法运算,结果都将向下舍入为1/4096的倍数。通常,这是一个很小的细节,但是必须在程序中加以考虑。 您面临的挑战是编写一个程序来执行摇动检查并打印以标出检查状态。在stdin上,您的程序将(至少在下面的详细信息中)接收到宠物小精灵的最大生命值,目标宠物小精灵的捕获率以及宠物小精灵的名称。最大HP和捕获率均保证为整数,而pokeball的名称始终为字符串。只要输入是一致的,此输入就可以以任何顺序出现,并且可以使用任何定界字符。假设输入正确,则不需要错误处理。 这里列出了您需要支持的pokeball的名称及其捕获乘数: Poke | 1 Great | 1.5 Ultra | 2 Master | 255 您可以假设目标处于睡眠状态并且处于1 HP。输出的预期格式为: (First check failed) (no output) (Second check failed) *shake* (Third check failed) *shake* *shake* *shake* (All checks pass) *shake* *shake* *shake* Click! (这不是一个错字,您的程序永远不要只输出两次摇晃。) 这是code-golf,因此得分是程序源代码的字节数。最低分获胜。 奖金! 我说过,您可以假设宠物小精灵的生命值是1 …
26 code-golf 

6
最短的普通超弦
给定一个字符串列表s_0, s_1, ..., s_n找到最短的字符串S,其中包含每s_0, s_1, ..., s_n一个字符串。 例子: S('LOREM', 'DOLOR', 'SED', 'DO', 'MAGNA', 'AD', 'DOLORE')='SEDOLOREMAGNAD' S('ABCDE', 'BCD', 'C')='ABCDE' 编写解决此问题的最短程序(或函数)。您可以根据需要将字符串表示为数组或字符/整数列表。标准库可以。对于输入/输出,可以使用更方便的方法:STDIN / STDOUT,用户提示,函数的参数/返回值等。 性能并不重要-假设,对于总长度<100个字符的输入,平均现代硬件上的结果必须在<10秒内计算出来。
26 code-golf  string 

30
计算文本中的单词并显示它们
该代码应输入一个文本(不是强制性的,可以是任何文件,stdin,JavaScript字符串等): This is a text and a number: 31. 输出中应包含单词及其出现次数,并按出现次数降序排列: a:2 and:1 is:1 number:1 This:1 text:1 31:1 请注意,31是一个单词,所以单词是任何字母数字,数字不充当分隔符,因此例如0xAF有资格成为单词。因此,分隔符将是非字母数字的任何内容,包括.(点)和-(连字符),i.e.否则pick-me-up将导致2个3个单词。应区分大小写,This并且this将是两个不同的词, '也将是如此隔膜wouldn,并t将会从2个不同的字wouldn't。 用您选择的语言编写最短的代码。 迄今为止最短的正确答案: grep和coreutils-42个字节
26 code-golf 

11
模拟Minsky套准机(I)
形式主义有很多,因此尽管您可能会发现其他有用的资料,但我希望对此加以足够明确的说明,以免不必要。 RM由有限状态机和有限数量的命名寄存器组成,每个命名寄存器都包含一个非负整数。为了便于文本输入,此任务要求还命名状态。 状态分为三种:增量和减量,它们都引用一个特定的寄存器。然后终止 递增状态递增其寄存器并将控制权传递给其后继者。递减状态有两个后继者:如果其寄存器为非零,则递减状态并将控制权传递给第一个后继者;否则(即寄存器为零),它将控制权简单地传递给第二个后继者。 对于“ niceness”作为一种编程语言,终止状态需要打印一个硬编码的字符串(因此您可以指示异常终止)。 输入来自标准输入。输入格式包括每个状态一行,然后是初始寄存器内容。第一行是初始状态。状态行的BNF为: line ::= inc_line | dec_line inc_line ::= label ' : ' reg_name ' + ' state_name dec_line ::= label ' : ' reg_name ' - ' state_name ' ' state_name state_name ::= label | '"' message '"' label ::= identifier reg_name ::= identifier …

30
打印圣诞树
挑战 使用最短的代码在顶部打印自己的星星的漂亮圣诞树。树星是一个星号(*),树体是由树制成的0。树必须高10行。每行应适当缩进,以使上一行在下一行居中。任何给定的行都必须比前一行多2个0,除了第一个是星星,第二个只有一个0。结果是这样的: * 0 000 00000 0000000 000000000 00000000000 0000000000000 000000000000000 00000000000000000 无需更改软件即可更改高度的高度树的并列中断(更改高度参数除外) 请也粘贴代码的结果树! 排行榜 显示代码段 var QUESTION_ID=4114,OVERRIDE_USER=73772;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} <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" …

19
我的话可以打败你的话
问题 给出两个词,在数字根战中找到获胜者。 通过以下方式定义单词的数字词根: 字母表中的每个字母都有一个数字: A = 1,B = 2,C = 3,...,Z = 26 将每个字母的值相加,得出单词的总数。以“ CAT”为例。C + A + T = 3 + 1 + 20 = 24 将构成结果的所有单个数字相加:24 => 2 + 4 = 6 重复步骤3,直到达到一位数字。那个数字是单词的数字根。 规则: 如果胜出者的数字根数大于另一个,则宣布获胜者。 如果数字根值相等,则通过从两个单词中删除每个最高值字母的实例并重新计算来缩短单词。 重复步骤1和2,直到有赢家或其中一个单词仅剩一个字母(或没有字母)为止。 如果经过缩短过程后数字根值相等,则将较长的单词声明为获胜者。 如果单词的长度相等,并且经过缩短处理后未找到获胜者,则不会声明获胜者。 特殊规则: 在计算数字根本身时,不允许使用模数。它可以在其他任何地方使用。 假设单词将仅由大写字母组成-没有标点符号,没有空格等。 输入 通过stdin(逗号分隔)将单词拉入。方法参数,或者您想要的。在解决方案或代码中明确说明如何解析或准备单词。 输出值 显示获胜词。如果没有获胜者,则显示“ STALEMATE”。 例子: …

17
无限多个素数
自从欧几里得以来,我们知道有无限多个素数。这个论点是矛盾的:如果只有有限个,假设p1个,p2,。。。,pñp1,p2,...,pnp_1,p_2,...,p_n,那么肯定m := p1个⋅ p2⋅ 。。。⋅ pñ+ 1m:=p1⋅p2⋅...⋅pn+1m:=p_1\cdot p_2\cdot...\cdot p_n+1是不是由这些素数整除,所以它的因式分解必须产生新总理,这不是在列表中。因此,仅存在有限素数的假设是错误的。 现在,假设222是唯一的质数。从上面的方法可以得出2 + 1 = 32+1=32+1=3作为新的(可能的)素数。应用该方法再次产生2 ⋅ 3 + 1 = 72⋅3+1=72\cdot 3+1=7,然后2 ⋅ 3 ⋅ 7 + 1 = 432⋅3⋅7+1=432\cdot 3\cdot 7+1=43,那么2 ⋅ 3 ⋅ 7 ⋅ 43 + 1 = 13 ⋅ 1392⋅3⋅7⋅43+1=13⋅1392\cdot 3\cdot 7\cdot 43+1=13\cdot 139,所以无论131313和139139139是新的素数,等等。在我们得到一个复合数的情况下,我们只取最少的新素数。结果为A000945。 挑战 给定一个质数p1个p1p_1和一个整数ñnn计算定义的序列的第ñnn个项pñpnp_n,如下所示: pñ:=分钟(素数(p1个⋅ …

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.