Questions tagged «kolmogorov-complexity»

非正式地,Kolmogorov复杂度是描述或产生恒定对象(例如字符串或图像)所花费的代码量。在此类别中发布挑战时,请确保它为现有挑战添加了新内容。

30
战争就是和平。自由是奴隶制。无知就是力量
正如乔治·奥威尔(George Orwell)在1984年写道: 战争是和平自由是奴隶制无知是力量 编写一个程序或函数,该程序或函数接受Orwell引号中的六个主要词之一,并输出其对应词。 特别: [input] -> [output] war -> peace peace -> war freedom -> slavery slavery -> freedom ignorance -> strength strength -> ignorance 不需要其他输入/输出对。 如上所述,您应该假设单词始终全部为小写。或者,你可以假设的话总是完全大写:WAR -> PEACE,PEACE -> WAR,等。 以字节为单位的最短代码获胜。

21
解释鱼(不,不是那条鱼)
考虑以下五个ASCII艺术海洋生物: 标准鱼:><>或<>< 快速鱼:>><>或<><< 健壮的鱼:><>>或<<>< 弹力鱼:><<<>或<>>>< 螃蟹: ,<..>, 编写一个接受任意字符字符串的程序<>,.。如果有一种方法可以将整个字符串解释为一系列不重叠的海洋生物,则应重新打印该字符串,并在生物之间插入单个空格。如果无法解释,则不输出任何内容(程序静默结束)。 例如,字符串<><><>可以解释为两个标准的鱼背对背。相应的输出为<>< ><>。 作为另一个示例,该字符串><>><>>包含...的“实例” (仅将括号添加为指示符) 几个标准鱼: [><>][><>]> 一条快鱼: ><[>><>]> 一个坚固的鱼在几个方面:[><>>]<>>和><>[><>>] 但是,只有标准鱼和坚固鱼的配对[><>][><>>]跨越了整个字符串,没有鱼共享字符(没有重叠)。因此,对应于的输出><>><>>为><> ><>>。 如果可以通过多种方式解释字符串,则可以打印其中任何一种。(并且仅打印其中之一。)例如,<><<<><可以解释为标准鱼和结实的鱼:[<><][<<><],或者解释为快速鱼和标准鱼:[<><<][<><]。因此,<>< <<><或者<><< <><将是有效的输出。 螃蟹只是为了好玩。由于它们不是以<或开头或结尾>,因此更容易识别(至少在视觉上)。例如,字符串 ,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><> 显然会产生输出 ,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><> 以下是一些不产生任何输出的字符串示例(每行一个): <><> ,<..>,<..>, >>><> ><<<<> , ><><> ,<><>, <<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<>< 如果删除开头,则可以解析这里的最后一个字符串<: <<>< …

30
编程语言中的字母
我们的任务是,在(英语)字母表中的每个字母,编写打印的字母,在其语言的程序名称以该字母开头。 输入: 无 输出: abcdefghijklmnopqrstuvwxyz 大写和尾随换行符可选 规则: 计分指标是编程语言的长名字,加上代码的长度。因此,C的“惩罚”为1,而GolfScript的惩罚为10。 每个答案一种语言/实现。鼓励多个答案。 在撰写本文之前,即2011年4月18日,应该已经存在编程语言。 如果编程语言名称的首字母不是英语字母,则不应将其强制为一个字母。它将被视为单独的字母(意味着减少竞争)。 在每个英文字母都有解决方案之前,不接受任何答案。 当前排名: 一个 PL:5 乙灰:20 Ç:35 d Ç:19 Ë:27 ˚F ISH:20 高语录:18 ^ h askell:28 我 Ø:33 Ĵ:15 ķ:13 大号胡:30 中号 ATLab的:19 Ñ IM:34 Ø WL:14 P ERL:14 Q基本:35 [R uby:17 S MBF:14 总含量:34 û尼克斯壳牌:31 V IM:12 w ^ …

10
岩石,多色,剪刀
编写一个程序,使用三种语言来玩剪刀石头布。 程序的任何版本的输入始终是字符串rock或paper或之一scissors。 程序必须使用第一语言输出击败输入的石头剪刀布选择: Input Output rock paper paper scissors scissors rock 程序必须使用第二种语言输出与输入相关联的剪刀布选择: Input Output rock rock paper paper scissors scissors 程序必须使用第三种语言输出输给输入的石头剪刀布选择: Input Output rock scissors paper rock scissors paper 以字节为单位的最短代码获胜。决胜局是最高投票的答案。 的输入和/或输出可任选地具有一个尾随的换行符但否则应该只是纯rock/ paper/ scissors字符串。您可以使用大写ROCK,PAPER,SCISSORS如果需要的话。 您不能使用同一语言的不同版本(例如Python 2和3)。

17
帮助特朗普筑墙!
特朗普需要建造隔离墙,而您将要做!为了最有效地构建他的墙,我创建了一个简单的可重复模式供您使用: __ __ | |_| | ___| |___ - - - - - - - - - - - - - - - - - - - ——————————————— 特朗普会告诉您他需要多少个墙段,然后您将它们构建为看起来像这样。 这是模式: __ __ <-- 4-2-3-2-4 ' _ _ ' | |_| | <-- 3-1-2-1-1-1-2-1-3 ' | |_| | ' ___| |___ …

30
唱小鲨鱼
《小鲨鱼》是一首有关鲨鱼家庭的儿童歌曲。早已作为篝火歌流行,但自2000年代中期以来已被社交媒体,在线视频和广播广泛传播。- 维基百科 编写不带输入的程序,并将以下文本写入标准输出或任意文件: Baby Shark doo doo doo doo doo doo Baby Shark doo doo doo doo doo doo Baby Shark doo doo doo doo doo doo Baby Shark! Daddy Shark doo doo doo doo doo doo Daddy Shark doo doo doo doo doo doo Daddy Shark doo doo doo …

14
画the(生物危害标志)
在明显不同的背景上以任意颜色绘制生物危害符号。具体比例已发布在1974年6月27日的美国政府联邦公报上。 细节 作为输出,都允许写入文件(允许光栅和矢量格式)或在屏幕上显示。 您可以只绘制边框或填充的形状。 如果使用光栅图像,则应将一个(或两个)参数作为输入,以调整输出的分辨率(例如,宽度/高度)。 背景必须至少具有符号边框的大小,但可以更大。 输出unicode符号☣是不够的。 下图给出了使用距离的确切比例(该图最初来自此处): 我还尝试制作一个具有相同度量的附加图,希望它更容易阅读: (灵感来自99%invisible的帖子)

30
做一个字母探照灯!
受此挑战的解决方案中的错误启发,您面临的挑战是产生以下确切的文本: ZYXWVUTSRQPONMLKJIHGFEDCBA YXWVUTSRQPONMLKJIHGFEDCBA XWVUTSRQPONMLKJIHGFEDCBA WVUTSRQPONMLKJIHGFEDCBA VUTSRQPONMLKJIHGFEDCBA UTSRQPONMLKJIHGFEDCBA TSRQPONMLKJIHGFEDCBA SRQPONMLKJIHGFEDCBA RQPONMLKJIHGFEDCBA QPONMLKJIHGFEDCBA PONMLKJIHGFEDCBA ONMLKJIHGFEDCBA NMLKJIHGFEDCBA MLKJIHGFEDCBA LKJIHGFEDCBA KJIHGFEDCBA JIHGFEDCBA IHGFEDCBA HGFEDCBA GFEDCBA FEDCBA EDCBA DCBA CBA BA A 第一行将有25个空格,然后字母从第26个字母(ZYXWVUTSRQPONMLKJIHGFEDCBA)开始向后,然后是换行符。 第二行将有24个空格,然后是从第25个字母(YXWVUTSRQPONMLKJIHGFEDCBA)开始向后的字母,然后是一个换行符。 ... 最后(第26行)将没有空格,然后从第一个字母(A)开始向后字母表,然后再换行。 附加规则: 您的程序可以使用任何允许的输出方法。 允许一个尾随换行符和/或一个前导换行符。 包含字母的行之间必须有一个换行符,不能再有换行符。 字母必须全部大写。 与代码高尔夫球一样,最短的提交将获胜。祝好运! 排行榜: 显示代码段 var QUESTION_ID=141725,OVERRIDE_USER=61563;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 …

30
对角字母
在没有输入的情况下,您的任务是生成以下内容: a b c d e f g h i j k l m n o p q r s t u v w x y z 在非视觉上,您的任务是生成字母表中的每个字母,其前的空格等于其在字母表中的位置减去一个。 如果进行打印,则它必须如上所示。允许不影响外观的多余空格以及结尾的换行符。您可以全部使用小写字母或全部使用大写字母。 您也可以按照通常的规则从函数返回它,可以是带换行符的字符串,也可以是字符串列表。 这是代码高尔夫球,因此最短答案以字节为单位!

30
这是我的枕头
...你能帮我永生吗? 几年前,我已经有了这个枕头,显然是时候摆脱它了。您能不能编写一个函数或程序,我可以随身携带,并在需要时可以用来重现此枕头。 它必须没有输入参数。 输出应该看起来完全像这样(尾随换行和空格都可以)。 /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// 这是代码高尔夫,所以最短的代码以字节为单位获胜! 排行榜 显示代码段 var QUESTION_ID=98701,OVERRIDE_USER=31516;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 …

30
野兔克里希纳野兔克里希纳克里希纳克里希纳野兔野兔
最近,我看到Hare Krishna人的口号上印有咒语,我发现编写高尔夫球代码可能很有趣。 挑战 写下野兔奎师那的口头禅,即: Hare Krishna Hare Krishna Krishna Krishna Hare Hare Hare Rama Hare Rama Rama Rama Hare Hare 获奖标准 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 规则 外壳必须保留。 文字应包含新行。 线可能有尾随空格。 尾随换行符是允许的。 禁止从Web或任何其他外部资源进行解析。


30
打印/输出L相
灵感来自乔治·吉布森(George Gibson)的《 Tabula Recta》。 您将打印/输出此确切的文本: ABCDEFGHIJKLMNOPQRSTUVWXYZ BBCDEFGHIJKLMNOPQRSTUVWXYZ CCCDEFGHIJKLMNOPQRSTUVWXYZ DDDDEFGHIJKLMNOPQRSTUVWXYZ EEEEEFGHIJKLMNOPQRSTUVWXYZ FFFFFFGHIJKLMNOPQRSTUVWXYZ GGGGGGGHIJKLMNOPQRSTUVWXYZ HHHHHHHHIJKLMNOPQRSTUVWXYZ IIIIIIIIIJKLMNOPQRSTUVWXYZ JJJJJJJJJJKLMNOPQRSTUVWXYZ KKKKKKKKKKKLMNOPQRSTUVWXYZ LLLLLLLLLLLLMNOPQRSTUVWXYZ MMMMMMMMMMMMMNOPQRSTUVWXYZ NNNNNNNNNNNNNNOPQRSTUVWXYZ OOOOOOOOOOOOOOOPQRSTUVWXYZ PPPPPPPPPPPPPPPPQRSTUVWXYZ QQQQQQQQQQQQQQQQQRSTUVWXYZ RRRRRRRRRRRRRRRRRRSTUVWXYZ SSSSSSSSSSSSSSSSSSSTUVWXYZ TTTTTTTTTTTTTTTTTTTTUVWXYZ UUUUUUUUUUUUUUUUUUUUUVWXYZ VVVVVVVVVVVVVVVVVVVVVVWXYZ WWWWWWWWWWWWWWWWWWWWWWWXYZ XXXXXXXXXXXXXXXXXXXXXXXXYZ YYYYYYYYYYYYYYYYYYYYYYYYYZ ZZZZZZZZZZZZZZZZZZZZZZZZZZ (是的,我是手动输入的) 允许您使用全部小写而不是全部大写。 但是,您选择的大小写在整个文本中必须保持一致。 规则/要求 每个提交应该是完整的程序或功能。如果它是一个函数,则只需将函数调用添加到程序底部即可使其可运行。其他任何内容(例如C中的标头)都必须包括在内。 如果可能,请提供指向可以测试您的程序的站点的链接。 您的程序不得向写入任何内容STDERR。 禁止使用标准漏洞。 您的程序在任何情况下都可以输出,但是必须将其打印出来(而不是数组或类似的东西)。 计分 程序根据字节评分,默认情况下为UTF-8或您选择的其他字符集。 最终,字节数最少的答案将获胜。 意见书 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes …

30
99瓶啤酒[关闭]
在墙上重新创建“ 99瓶啤酒”。 所需的输出是这样的: 99 bottles of beer on the wall, 99 bottles of beer. Take one down and pass it around, 98 bottles of beer on the wall. 98 bottles of beer on the wall, 98 bottles of beer. Take one down and pass it around, 97 bottles of beer …

20
重复自己
编写输出程序 Do not repeat yourself! 您的程序代码必须遵守以下约束: 它的长度必须是偶数 位置中的每个字符2n(其中n> 0的整数)必须等于位置中的字符2n-1。程序的第二个字符等于第一个字符,第四个等于第三个字符,依此类推。 换行符视为字符! 这是代码高尔夫球,所以最短的代码获胜! 例子 HHeellllooWWoorrlldd 是有效的程序 123或者AAABBB或者HHeello是不正确的 验证 您可以使用此CJam脚本来验证您的源代码有效。只需将代码粘贴到“输入”框中,然后运行脚本。

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.