Questions tagged «code-golf»

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

20
可配对的字符串
如果字符串可以拆分为子字符串,则该字符串是可配对的,每个子字符串都是连续重复两次的字符串。例如,aabaaababbbaba可配对为: aaba aaba b b ba ba 给定一个非空字符串a“ s”和b“ s”,如果可以配对,则输出True值,如果不是,则输出Falsey值。 可配对: aa abaaba bbababbb aabaaababbbaba babababa bbbbbbbbbbbb aaababbabbabbbababbaabaabaababaaba aaaabaab 无法配对: a ba baab abaabaaba bbbbbbbbbbbbbbb baababbabaaaab aaaaabbaaaaa 我鼓励您提出非基于正则表达式的解决方案,即使您的语言中已经存在较短的正则表达式答案。您可以将它们标记为“ no regex”。正则表达式是指内置的字符串模式匹配子系统。 排行榜: 显示代码段 var QUESTION_ID=98252,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/98252/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 …

20
停战日挑战
今天,11月11日,被称为纪念日,停战日或退伍军人节(取决于国家),是对军人及其服役的反思和感激之日,特别是开始反映欧洲敌对行动的结束在第一次世界大战中。让我们用一个简单的ASCII美术输出来反思一下11/11。 给定一个输入n,输出的一个ASCII艺术再现11/11即n单位高。具体来说,每个字符1由垂直管道||组成,斜线由斜线组成//,并且每个字符相隔两个空格。请注意,这意味着输出宽度会发生变化-例如,在n=3下面的内容中,请查看斜杠的“底部”如何1从左到右两个空格,但1从右到右四个空格,以便斜杠的顶部正确排列,并且1在其右边是两个空格。 n = 1 || || // || || n = 2 || || // || || || || // || || n = 3 || || // || || || || // || || || || // || || n = 4 || || // || || || …

30
打印字母斐波那契
给定N(2 <= N),按如下方式打印字母Fibonacci系列的N行(即N = 5)首先,从a和开始b: a b 接下来,添加两行。 a b ab 继续添加最后两行。 a b ab bab 继续... a b ab bab abbab 我们完成了。 提醒,这是code-golf,所以字节最少的代码将获胜。

13
05AB1E打高尔夫球的技巧
你有任何提示代码高尔夫荷兰国际集团在05AB1E,通过创建一个高尔夫语言阿德南? 您的提示至少应针对05AB1E。 请为每个答案发布一个提示。
28 code-golf  tips 

23
弦距
挑战 给定全小写字符串的输入[a-z],输出字母之间的总距离。 例 Input: golf Distance from g to o : 8 Distance from o to l : 3 Distance from l to f : 6 Output: 17 规则 禁止标准漏洞 这是代码高尔夫球 -最短的答案以字节为单位。 可以从任一方向遍历字母。您必须始终使用最短路径。(即,距离之间x和c为5)。 测试用例 Input: aa Output: 0 Input: stack Output: 18 Input: zaza Output: 3 Input: valleys Output: 35

7
解密神经性青蛙
解密神经性青蛙 既然Puzzling.SE终于破解了我的两栖类密码,让我们编写一个程序或函数对其解密吧! (如果您想在迷惑之前先看一下它,请立即单击上面的链接。) 密码如何工作 神经症蛙ö ught向rel 一个 X在中号 UD浴场(“神经质青蛙”的简称),每一个字母被加密为一个或两个词: 非斜体字的长度表示字母。 neurotic => 8个字母=> H frogs => 5个字母=> E perpendicular => 13个字母= M 包含斜体的单词会修改以下单词,如果斜体单词的长度为奇数,则增加10;如果斜体单词的长度为偶数,则增加20。任何或所有单词都可以斜体显示。斜体字总是跟着非斜体字。 *o*ught to =>奇数,2 => 12 => L lo*u*nging calms =>偶数= 5 => 25 => Y 每个明文单词对应一个密文句子,每个明文句子对应一个密文段落。 输入格式 您的程序或功能应以“神经青蛙”的形式输入消息,格式为Markdown。输入将仅包含可打印的ASCII和换行符。 单词是与正则表达式匹配的字符行[A-Za-z0-9']。 数字和字母均计入一个单词的长度。QB64代表D。 注意:撇号不会计入单词的长度。Isn't代表D,不是E。 斜体字母包裹在一个星号(*letters*)中。 一个或多个连续字母可以斜体显示,直到整个单词(masseus*es*,*all*);单词中的多个非连续字母也可以用斜体(g*e*n*e*rates)表示。 斜体字不包含多个单词,不包含标点符号,也不包含撇号。 未配对的星号和多个相邻的星号将永远不会发生。 标点是以下任意字符:.,?!:;-()"。 句子中的单词由一个或多个标点符号和/或单个空格分隔。例如:*all* …

12
两次旋转
挑战说明 从一个字母的第一部分开始循环循环所有字母,从另一个字母的第二部分开始循环循环。其他字符保持不变。 例子 1:你好世界 Hello_world //Input Hell ld //Letters from first half of alphabet o wor //Letters from second half of alphabet _ //Other characters dHel ll //Cycle first letters w oro //Cycle second letters _ //Other characters stay dHelw_oroll //Solution 2:代码高尔夫 codegolf c deg lf o o f cde …
28 code-golf 

1
给定一个圆的列表,输出包含最小矩形的区域
将为您提供半径列表,您必须输出它们都将适合的最小矩形区域。 例如,给定列表,[5,3,1.5]您将输出157.460。 这是图像: 宽度为15.7460,高度为10,因此面积为157.460 规则: 您可以通过stdin或function参数获取列表,通过stdout或function return输出答案。 半径最多有2个小数位。 该列表的长度在2到6之间。 输出应精确到小数点后3位或更多。 如果需要,π= 3.1416。 测试用例: [5,3,1.5] = 157.460 [9,4,8,2] = 733.431- 在这里工作。 [18,3,1] = 1296.000 以字节为单位的最短代码获胜。

17
为万圣节绘制ASCII-O'-灯笼
万圣节快到了,这个假期过后,大多数人都需要摆脱空腹的糖饮食。 编写一个使用正整数的程序。如果该整数小于31(1到30),则输出此ASCII艺术的jack-o'-灯笼,向右看,就像期待万圣节一样: _____I_____ | | | | | | | | | |^| |^| | | | | |^| | | | | |VvVvV| | |_|_|_|_|_|_| 如果输入为 31(万圣节的十月日期为开),则输出相同的ASCII-o'-灯笼,但向左看: _____I_____ | | | | | | | | |^| |^| | | | | |^| | | | | |VvVvV| | …

30
素数计数功能
介绍 质数计数函数,也称为Pi函数π(x)π(X)\pi(x)返回小于或等于x的质数。 挑战 您的程序将采用一个可以假定为正数的整数x,并输出一个等于或小于x的素数的整数。这是一个代码高尔夫挑战,因此获胜者将是字节数最少的程序。 您可以使用选择的任何语言,只要它在挑战开始之前就已经存在,但是如果该语言具有内置的素数计数功能或素数检查功能(例如Mathematica),则该功能不能在您的代码中使用。 输入示例 输入: 1 输出: 0 输入: 2 输出: 1 输入: 5 输出: 3 A000720-OEIS

8
大家一起成就更多
(相关:一,二,三) 一个离合词是诗的风格/写,其中每行的开始字符,当垂直读取,还产生一个字或消息。例如, Together Everyone Achieves More TEAM垂直阅读第一列时也会拼出单词。 离合诗是的一个子集mesostic s,其中所述垂直字可以是在水平字的任何地方。例如,TEAM上面的代码也可以写成如下 togeTher everyonE Achieves More 以及其他几种变体。 这里的挑战将是从给定的输入单词列表中产生杂音或杂音。 输入值 以任何适当格式的单词列表。 该列表将仅包含小写的单词[a-z]。 该列表可确保形成杂音或杂音(无需处理虚假输入)。 输入中的一个单词将构成垂直单词,而其余单词将成为水平单词-这里的挑战是找到合适的垂直单词,因此不能单独使用。 输出量 由输入字形成的ASCII艺术的杂音或中音,以任何合理的格式写入STDOUT或返回。 相应的垂直词必须大写(如示例中所示)。 前导空格,以获得垂直字排队适当的要求。尾随空格和尾随换行符是可选的。只要单词正确对齐,多余的前导空格也可以。 如果同时具有杂技和杂技,则仅输出杂技。 如果可能的杂项/杂项不止一个,则您的代码可以输出其中的任何一个或全部。 规则 完整的程序或功能都是可以接受的。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 ['together', 'team', 'everyone', 'achieves', 'more'] Together Everyone Achieves More ['aaa', 'aaa', 'aaa', 'aaa'] Aaa Aaa Aaa # One output, …

17
画一个空的拼字板
标准拼字游戏板是15×15的空格网格,用于放置字母图块。大多数空格为空白,但有些空格为双字得分(粉红色),三字得分(红色),双字母得分(浅蓝色)和三字母得分(蓝色)。通常在中心位置有一个星星(算作双字得分)。 编写一个程序或函数,以ASCII格式输出标准的空拼字板,其中: . 代表一个空白 D 代表双字得分 T 代表三字分数 d 代表双字母得分 t 代表三字母得分 X 代表中心星 也就是说,您的确切输出必须是 T..d...T...d..T .D...t...t...D. ..D...d.d...D.. d..D...d...D..d ....D.....D.... .t...t...t...t. ..d...d.d...d.. T..d...X...d..T ..d...d.d...d.. .t...t...t...t. ....D.....D.... d..D...d...D..d ..D...d.d...D.. .D...t...t...D. T..d...T...d..T (可选)后跟换行符。 以字节为单位的最短代码获胜。

22
将指数转换为ASCII艺术
任务 您的任务是像这样转换字符串: abc^d+ef^g + hijk^l - M^NO^P (Ag^+) 要这样的字符串: d g l N P + abc +ef + hijk - M O (Ag ) 这是对abc d + ef g + hijk l -M N O P(Ag +)的近似值 换句话说,将字符直接插入到插入符号的上方,抬起一行,一个字符插入一个插入符号。 眼镜 输出中允许多余的尾随空格。 不会提供像这样的链式插入符号m^n^o作为输入。 插入符号不会立即跟随空格或其他插入符号。 尖号之前不会立即有空格。 所有插入符号的前面均应至少包含一个字符,然后至少应包含一个字符。 输入字符串将仅包含可打印的ASCII字符(U + 0020-U + 007E) 代替两行输出,您可以输出两个字符串的数组。 …

27
位反转排列
您的目标是创建一个函数或程序来反转给定整数n的整数范围内的位。换句话说,您想要找到2 n项范围(零索引)的位反转排列。这也是OEIS序列A030109。此过程通常用于计算快速傅立叶变换,例如用于FFT的就地Cooley-Tukey算法。计算长度为2的幂的序列的FFT 也是一个挑战。 此过程要求您迭代[0,2 n -1] 范围,并将每个值转换为二进制值并反转该值中的位。您会将每个值都视为以2为底的n位数字,这意味着反转只会在最后n位之间发生。 例如,如果n = 3,则整数范围为[0, 1, 2, 3, 4, 5, 6, 7]。这些是 i Regular Bit-Reversed j 0 000 000 0 1 001 100 4 2 010 010 2 3 011 110 6 4 100 001 1 5 101 101 5 6 110 011 3 7 …

12
一零分红
挑战说明 对于每个正整数n,存在一个其形式111...10...000可被n整数整除的数字,即以all开头并以all 1结尾的十进制数0。这很容易证明:如果我们采用(全)n+1形式的一组不同数字,那么除以后(根据信鸽原理),至少其中两个将给出相同的余数。这两个数字的差可以被期望的形式整除。您的目标是编写一个找到该数字的程序。111...1111nn 输入说明 一个正整数。 输出说明 许多p的形式111...10...000,使得p ≡ 0 (mod n)。如果找到多个-请显示其中任何一个(不一定是最小的)。 笔记 您的程序必须在合理的时间内给出答案。这意味着不允许强行使用: p = 0 while (p != 11..10.00 and p % n != 0) p++ 这也不是: do p = random_int() while (p != 11..10.00 and p % n != 0) 11..10..00允许以形式遍历数字。 您的程序不需要处理任意大的输入-上限就是您语言的上限。 样本输出 2: 10 3: 1110 12: …

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.