Questions tagged «kolmogorov-complexity»

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

13
扩大比较链
与大多数语言不同,Python a<b<c会像在数学中一样进行评估,实际上是比较三个数字,而不是将布尔值a<b与进行比较c。用C(以及许多其他语言)编写此代码的正确方法是a<b && b<c。 在这个挑战中,您的任务是将这样任意长度的比较链从Python /直观表示扩展到如何用其他语言编写。 技术指标 您的程序必须要处理运算符:==, !=, <, >, <=, >=。 输入将具有仅使用整数的比较链。 不用担心一路比较的真实性,这纯粹是语法/语法上的挑战。 输入将没有任何空格,以防止答案因分割空格而使解析变得琐碎。 但是,您的输出可能只有一个空格,要么仅包含&&,要么包含比较运算符和&&,或者两者都不包含,但是要保持一致。 测试用例 Input Output --------------------------------------------------------------- 3<4<5 3<4 && 4<5 3<4<5<6<7<8<9 3<4 && 4<5 && 5<6 && 6<7 && 7<8 && 8<9 3<5==6<19 3<5 && 5==6 && 6<19 10>=5<7!=20 10>=5 && 5<7 && 7!=20 15==15==15==15==15 …
9 code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

30
给定int输入n,输出n * reversed(n)
给定一个整数n,打印输出n * reversed(n) reversed(n)是当您reverse的数字为时得到的数字n。 reverse(512) = 215 reverse(1) = 1 reverse(101) = 101 >>>>>>>> func(5) = 5*5 = 25 func(12) = 12*21 = 252 func(11) = 11*11 = 121 func(659) = 659*956 = 630004 最短的代码胜出! 排行榜 显示代码段 var QUESTION_ID=144816,OVERRIDE_USER=71625;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 …
9 code-golf  math  arithmetic  code-golf  math  integer  code-golf  arithmetic  integer  code-golf  sequence  base-conversion  palindrome  code-golf  math  primes  integer  code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

10
扩大澳大利亚州
澳大利亚有8个州和地区,每个州和地区的字母缩写为2或3: ACT:澳大利亚首都领地 新南威尔士州:新南威尔士州 NT:北领地 昆士兰州:昆士兰州 SA:南澳大利亚 塔斯马尼亚州(TAS):塔斯马尼亚州 VIC:维多利亚 西澳大利亚州:西澳大利亚州 您的任务是编写一个函数/程序,该函数/程序必须使用有效的澳大利亚州大写字母缩写,并返回正确的全名(如上所述,区分大小写)。 除单个尾随换行符外,不允许有多余的空格,这是该语言中每个程序不可避免的副作用。 例如: f("TAS") => "Tasmania" 标准 代码高尔夫球 规则(以字节为单位的最短代码为准!),并且存在漏洞。

2
一百个最常用的单词
之所以写这个问题,是因为“ Thing Explainer”很有趣,并且给了我一个主意。 编写“使计算机做事的东西”,以读取/获取一组字母,数字和类似的东西"#%|?,True / 1如果所有单词都属于该集合,则返回。 如果所有单词都不属于该集合,请返回不属于该集合的单词。 在任何情况下都可以认为本网站是正确的。编写规则是为了遵守该站点上的规范。 例子: Truthy: 如果将第一条水平线上方的整个文本粘贴为输入,则代码应返回真实值。 以下几行应返回真实值(输入之间用分隔###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 虚假的: 在以下示例中,输入和输出用分隔***。不同的测试用例用分隔###。 This code …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

1
高尔夫英语–使用收缩
我对Stack Exchange内容的嘲笑程度不如对此。我想大家都会喜欢这个挑战,因为它受到了那里的启发。 您将编写一个代码高尔夫的函数或程序,即它必须尽可能地短。 给定文本,请返回(无论以何种方式)根据该表将要尽可能多地收缩的文本。 您不应从表中提取信息,而必须在代码中包含所有必需的信息。 所有违约规则都不应被打破,因为我们不会有任何不正当竞争。 你不需要考虑文本,如果它不大写,如表,所以你不能转换you all WOULD not have或You all would not have到y'all'dn't've。 您可以只匹配旧的撇号(U + 0027)或任何不错的撇号;随便你 ↑上方的示例输入,↓下方的相应输出 我对StackExchange内容的嘲笑远不及此。我认为,所有人都会喜欢这个挑战,因为那里的事物启发了我们。 您将编写一个具有代码功能的函数或程序,即它必须尽可能地短。 给定一个文本,请(通过任何方式)返回该文本,该文本将根据该表尽可能多地收缩。 您不必从表中获取信息,而必须在代码中包含所有必需的信息。 所有违约规则都不应被打破,因为我们不会有任何不公平的竞争。 如果文本没有像表中那样大写,则无需考虑,因此您不必转换 you all WOULD not have或You all would not have到y'all'dn't've。 您可以只匹配好撇号(U + 0027)或 任何好的;随便你

15
年度中国十二生肖
2015年是山羊年!在这项挑战中,您将弄清楚哪种动物代表年份。为避免将挑战复杂化,您无需计算农历新年。 由于它们在十二生肖中只有12种动物,因此您的代码将需要尽可能短。 例子 您的程序必须获取系统年份,第一行仅供参考 2015 Goat 1924 Rat 1923 Pig 2008 Rat 规格 十二生肖的顺序是: Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig Rat从2008年开始,到Pig2007年开始,Ox到2009年,依此类推。 输出必须正确大写。

8
你今天有心情吗?
Debian Linux发行版(以及基于Debian的发行版,如Ubuntu,Kali和其他发行版)使用称为APT的软件包管理器。要安装程序,foo您需要在终端中输入 sudo apt-get install foo 以下是APT的一个小复活节彩蛋: apt-get moo 键入后将产生以下输出 (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... 您必须编写一个程序,以尽可能少的字节产生此EXACT输出。(包括尾随空格和换行符) 这是与输出相同的输出,\n以表示换行符,并以a *表示尾随空格 (__)*\n (oo)*\n /------\/*\n / | ||***\n * /\---/\*\n ~~ ~~***\n ..."Have you mooed today?"...\n 根据注释中的要求,这是mooing的md5sum。 35aa920972944a9cc26899ba50024115 -

14
哪一年
2014年12月,2015年几乎已经开始。但是,似乎并非每个人都意识到这一点。 但是PPCG的人们来救助! 输入项 您的程序将获得一个像墙一样的网格,其中12月一个月的日子与11月和1月的日子有所不同。每个星期从星期日开始,到星期六结束。 一个月内的天以表示#。月份以外的日子用(空格,ASCII码32)表示。每周都有单独的一行。行之间用换行符(\n)分隔。您的程序可能要求省略或在输入末尾添加换行符。 例如,这是2009年12月的输入: ##### ####### ####### ####### ##### 日历始终是十二月。 任务 有了输入,您必须找到与日历关联的年份。由于日历与多个年份匹配,因此您必须返回最接近2015年的年份(2015年之前)。(2015年本身除外)。 您的程序必须在<2015年的任何年份中产生正确的输出,但那些12月的日历布局等于接近2015年的另一年(2015年前)的日历输出除外。 如果年份<2014,则还必须计算与2014年的年份差值。例如,对于2012年,差值为2。 输出量 程序的输出必须为: 文本:(Your calendar is for <year>.注意:由于最初被拼写为“日历”,因此我也将接受该拼写。) 后跟换行符(\n或\r\n)。 后跟文字: It's almost 2015. 如果年份<2014,则必须在其后加上文本:You're <difference> years behind.必须在单独的一行上。 后跟换行符(\n或\r\n)。 后跟文字: Go buy a new calendar! (可选)后跟换行符(\n或\r\n)。 规则 您可以选择是要接收日历作为命令行参数(例如yourprogram.exe <calendar>)还是提示用户输入。 您可能会认为您的程序不会收到无效的输入。无效的输入包括没有年份的日历布局。 最短的代码(以任何语言表示的字节数)为准。 任何非标准的命令行参数(运行脚本通常不需要的参数)都计入总字符数。 您的程序不得执行的操作: 取决于任何外部资源。 取决于具有特定的文件名。 输出所需输出以外的任何内容。 …

3
计数杆;数你的杆
一些背景 计数棒是小棒(3-14厘米长),许多亚洲文化的数学家使用该棒已有2000多年的历史了,它代表任何整数或分数。(尽管在本次挑战中,我们将重点放在无符号整数上)还有一个书面版本,称为标杆数字。 运作方式如下: (如果您在任何时候感到困惑,请查看每个数字的ascii表示形式以及我在底部提供的一些示例) 杆号是一个真实的位置数字系统,数字为1-9,空格为0。行数越多,数字越高。一旦超过5,则在顶部放置一条水平线,以将5加到下面的行数中。一条垂直线是1,两条垂直线2,五条垂直线是5,一条垂直线的顶部有一条水平线是6,四条垂直线的顶部有一条水平线是9(最高位数)。 垂直三位数: ||| ||| ||| ||| ||| 为了使读杆数字更容易,他们为每个交替的数字使用了不同的符号。第二种表示法互换了水平线和垂直线的作用。因此3用三条水平线表示,8用三条水平线表示,顶部有一条垂直线。 水平8位数字: | | __|__ _____ _____ 如前所述,知道使用哪种表示法很容易,这是交替使用的,孙子写道“一个是垂直的,十个是水平的”。所以最右边的数字是垂直的,我们从那里开始交替。 挑战 这些标尺用于表示负数和分数(如关于它们的Wikipedia文章中所述。出于此挑战的目的,我们仅关注正整数。目标很简单: 编写一个函数或完整程序,该函数或完整程序以任何方式将整数值作为输入,并将该整数的标尺数字表示形式打印到STDOUT(如果效果更好,也可以写入文件)。以字节为单位的最短代码获胜。 每个数字将由5x5的ASCII字符表示,并由5个空格的两个列分隔。您将使用的每个数字的确切表示形式如下: space between two digits (two colums): 0 digit, both vertical and horizontal (five columns): 1 digit, vertical: | | | | | 2 digit, vertical: | | …
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.