Questions tagged «kolmogorov-complexity»

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

30
摇滚全天候
使用尽可能少的Unicode字符,打印以下内容(144个字符): 1, 2, 3 o'clock, 4 o'clock rock, 5, 6, 7 o'clock, 8 o'clock rock, 9, 10, 11 o'clock, 12 o'clock rock, We're gonna rock around the clock tonight. 除之外,您不得在代码中使用任何数字1。

30
史蒂夫·鲍尔默的奇案
史蒂夫·鲍尔默(Steve Ballmer)是微软的前首席执行官,在最近的一篇文章中,他声称他“仍然不知道自己在移动方面做错了什么”。 正如CodeProject的新闻通讯所指出的那样,“该文章的标题可以在很多地方结束并且仍然准确”。 在没有输入的情况下,输出以下内容: Steve Ballmer still does not know. Steve Ballmer still does not know what he did. Steve Ballmer still does not know what he did wrong. Steve Ballmer still does not know what he did wrong with mobile. 该输出必须完全如图所示,并且必须是程序的唯一输出。您可以包括一个尾随换行符。 这是代码高尔夫球,因此每种语言中的最少字节数获胜

30
打网球吧
我突然真的很想打网球,可惜我没有球场! 惊喜!这是您进来的地方。 您必须为我打印一个网球场,但是由于机密原因,您必须以最少的字节数进行打印。 网球场 --------- | | --------- | | | xxxxxxxxx | | | --------- | | --------- 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

30
有已知的
美国前国防部长唐纳德·拉姆斯菲尔德(Donald Rumsfeld)著名地推广了“已知的已知物”。在这里,我们将把他的言论提炼成四行节。 具体来说,输出以下文本: known knowns known unknowns unknown knowns unknown unknowns 大小写无关紧要(例如,Known unKnowns可以),可以使用单行尾的换行符,但不允许其他格式更改。这意味着单词之间有一个空格,行之间有LF(59字节)或CR/LF(62字节)。 规则 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

26
大笨钟大爆炸
您的任务是创建一个模仿Big Ben(Twitter)的程序。 任务 每当新的一小时开始时(根据计算机的本地时间或UTC),您都必须输出BONG重复的hour时间(单词之间留一个空格)。例如,当是3点钟时,您必须输出BONG BONG BONG。时间格式遵循12小时制,即12点以后,我们是1,而不是13。程序/功能必须永远运行。 例: 不要在括号内输出内容 (start: 00:34 for example) BONG (01:00) BONG BONG (02:00) (...) BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG (12:00) BONG (01:00 again) (...) (it continues forever) 规则 的每个序列BONG必须用换行符分隔 允许前导/尾随换行符 然而前导/尾随空格都不会允许 提交必须永远运行 您的输出可能会从小时开始时起打印±3秒 您可能不假定该程序在任何特定时间运行 这是代码高尔夫球,因此字节数最短的程序将获胜!

18
打印出所有IPv6地址
这使我想起几年前有人上传了洪流“黑客工具:所有IP地址的完整列表”。当然,这只是一个约40亿个IPv4地址的生成列表,但是有数千个“ h4xx0rz”下载了它。看妈妈,imahacker! 当时是这样,但如今每个人都已切换到IPv6。(对?) 您的任务是编写一个打印所有IPv6地址的程序。 您应该编写一个完整的程序,该程序不输入任何内容并打印IPv6地址,每行显示一个,而没有其他输出。您的程序必须打印所有2 128个可能的地址,包括无效的地址。每个地址必须打印一次。您可以按任何顺序打印地址。 每个地址都可以完整打印,用冒号分隔8组4个十六进制数字,例如 2001:0db8:85a3:0000:0000:8a2e:0370:7334 您可以自行决定使用RFC 5952中的任何标准缩写: 可以省略组中的前导零,除非0不能再进一步缩写。 :: 每个地址最多可使用一次,以缩写一个或多个全零组的序列。 十六进制数字可以使用小写或大写。 如果您达到RFC 5952的推荐制式建议(仅小写字母,表示形式尽可能短,::如果可以在多个地方使用,请尽早使用),您将获得-20%的奖励。 由于输出的大小,当我们坐在那里时,您的程序无法完成。您的程序可能在某些时候被外部手段中断(Ctrl+ C,拔出电源,…)。您的程序必须将输出作为流产生,以便在“合理”等待之后,它将产生一些行。基本上,不允许在内存中构造一个巨大的字符串仅在最后打印出来。任何会在“标准” PC上用尽内存的程序都将被取消资格。(尽管如此,如果您的程序运行了足够长的时间,它必须打印所有IPv6地址,然后退出。) (如果这种情况对于运行该程序直到完成并随后让您看到输出的Web解释器来说是一个问题,并且您没有托管的解释器,请在问题的较小版本上测试您的程序,然后仔细进行调整到完整的2128。) 您的分数是程序的长度(以字节为单位),如果获得奖励,则乘以0.8。这是代码高尔夫球,因此得分最低者获胜。

30
爱我,不爱我
爱我,不爱我 这个简单的儿童游戏虽然古老,但仍然很受欢迎。由于我们现在生活在21世纪,因此我们将其数字化! 规格 程序必须不输入任何内容,除非您使用的语言不能生成随机种子-在这种情况下,您可以将种子用作输入。您的任务是编写一个程序,该程序将随机输出总共3到20行(包括3行和20行):“爱我...”和“爱我不...”,就像在游戏中一样(以及另外一行);读)。 但是,有一些限制。每行后应跟换行符。第一行必须是“爱我...”。最后一行(“爱我”或“不爱我”)应分别以感叹号或单个点结束。在最后一行之后,您需要在新行中输出一个heart(<3)或一个破碎的heart(</3),具体取决于是否“爱我!” 或“不爱我”。是最后一句话。 允许尾随空格。 示例输出 输出: 爱我... 不 爱我... 爱我...不 爱我... 爱我! <3 另一个输出: 爱我... 不 爱我... 爱我... 不爱我。 </ 3 这是代码高尔夫球,因此最短的条目将获胜! 另外,我的第一个挑战:)祝你好运!

30
输出编程语言名称
挑战: 在您选择的编程语言中,不输入任何内容,而是输出您的编程语言的名称。 足够公平吧? 限制条件: 您的代码中不能使用编程语言名称中包含的任何字符。例如,如果使用批处理,则不得在代码中使用字符'B''a't''c''h'。请注意,这是区分大小写的。我仍然可以使用字符“ b”,因为它与“ B”不同。 您可以在语言名称之前或之后使用“垃圾输出” 版本号不算作语言名称的一部分。例如,如果在Python 3中,我可以在答案中使用数字3 编程语言名称的输出不区分大小写。 禁止强行使用所有可能的字母组合,并希望您获得自己的语言名称。 示例输出:(假设我的编程语言称为语言)(✔如果有效,否则为✖) Language ✔ Body language is a type of non-verbal communication in which physical behavior, as opposed to words, is used to express or convey information. Such behavior includes facial expressions, body posture, gestures, eye movement, touch and …

25
向斯坦·李致敬
不幸的是,最伟大的漫画作家之一昨天下午去世了。许多好莱坞明星,音乐家,演员和许多其他人都向这位令人敬畏的作家致敬,所以我们也必须做点什么。 挑战 打印复仇者标志 注意:除了空格字符,您还可以使用其他任何字符代替#;而您必须为空格使用空格字符 在ASCII艺术中 ###### ############### ##### ########## #### ####### #### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### ########### ### ### ########### ### ### #### ### ### ### ### ### ### …

30
闯入彩票
您最近在一个狡猾的赌博网站上开设了一个帐户,费用为25美元,他们会随机退还0到50美元。在两次获得5美元的收益后,您决定证明该网站是骗局。使用默认密码访问其外部防火墙后,您便可以进入其数据库服务器,并找到将最小和最大数量的值保存在何处。您决定将25'9's作为最大值插入,但是会收到一条错误消息,指出最大值必须为'uint64'类型。但是,现在您发现有些数字键似乎无法正确输入远程控制台。挑战似乎摆在您面前,几乎就像在Q + A网站上键入一样。 仅使用方便安装的程序测试和执行您的特定语言,输出无符号64位整数值的最大大小,但是,除编程工具外,几乎所有其他内容在本机上都损坏,因此您无需使用数字1, 2,4,6,8-在源代码或文字中,您还会注意到执行每段附加代码所需的程序似乎要花费成倍的时间,因此,如果您希望将其保持简短,最好想要在绘画之前致富! 挑战 编写一个程序,输出一个18446744073709551615(一个无符号的64位整数的最大值),可以是一个数字或单个字符串。 您的源代码不能包含任何字符“ 1”,“ 2”,“ 4”,“ 6”或“ 8” 如果您的语言没有无符号的64位整数或等效值,则输出可以采用字符串格式或其他格式,但必须为上述数字。 这是代码高尔夫,因此每种语言中最短的代码胜出!

9
建立一个没有任何三角形的三角形
小时候,我很喜欢玩这些玩具: 他们可能打算将它们用于艺术,但是我总是将它们用于数学!分形,图案等。有一次,我受到了挑战: 无需使用任何绿色三角形瓷砖即可构建一个三角形。 这个挑战困扰了我最长的时间,直到我偶然发现了一种仅用3个梯形来完成的真正美丽而简单的方法: /\ /_/\ /__\_\ 现在,取下这个三角形,然后旋转它: ______ \ \__/ \/ / \/ 使用这两个三角形,我们可以从中构造出更大的三角形。这是一个高度为2的三角形: /\ /_/\ /__\_\ /\ \__/\ /_/\/ /_/\ /__\_\/__\_\ 这是高度为3-7的三角形: #3 /\ /_/\ /__\_\ /\ \__/\ /_/\/ /_/\ /__\_\/__\_\ /\ \__/\ \__/\ /_/\/ /_/\/ /_/\ /__\_\/__\_\/__\_\ #4 /\ /_/\ /__\_\ /\ \__/\ /_/\/ /_/\ /__\_\/__\_\ /\ …

10
猎鹰重型战车
从以下四组中的任何一组中选择一组四个字节而不替换(即,不重复字节),并且不一定按任何特定顺序进行: 任何一个单字节编码的字符 Unicode字符,范围为​​00–FF 有符号十进制整数,范围为−128–127 无符号十进制整数,范围为0–255 您选择的四个值(请说明它们是哪个)将是有效输入。您必须将每个值与以下ASCII图稿之一配对。 给定(通过任何方式)您的四个有效输入之一,以相应的ASCII艺术形式响应(以任何方式,甚至是字符串列表)。只要图像在一个连续的2D区域中,在所有面上都可以有多余的空白。 第一个字节: /\ / \ | | | | | | |____| \__/ | | | | | | | | /\ | | /\ / \| |/ \ | || || | | || || | | || || | | || || …

30
现代高尔夫的编程难题
您的任务是打印文本Good morning, Green orb!,并将每个字符重复出现在位置(模式)中最频繁出现的字节中。尾随换行符是允许的,不需要重复。 例如,如果您的来源是 print p 因为p出现两次,并且每隔一个字节出现一次,则需要打印 GGoooodd mmoorrnniinngg,, GGrreeeenn oorrbb!! 答案将通过其字节数与重复输出次数的乘积来评分。例如,上面的代码(如果可行)将获得7 * 2 = 14的评分。目标应该是最小化分数。 您的代码必须至少包含1个字节。 使用此程序来验证您的代码和输出是否匹配

19
我的馅饼被平分了吗?
编写一个包含正整数的非空列表的程序或函数。您可能会假设它是以合理方便的格式输入的,例如"1 2 3 4"或[1, 2, 3, 4]。 输入列表中的数字表示完整饼图的切片,其中每个切片的大小与其对应的数字成比例,并且所有切片均按给定的顺序排列在图表周围。 例如,饼图为1 2 3 4: 您的代码必须回答的问题是:饼图是否一分为二?也就是说,从圆的一侧到另一侧是否存在一条完美的直线,将其对称地一分为二? 你需要输出truthy值,如果有至少一个平分线和输出falsy如果有没有价值。 在该1 2 3 4示例中,之间有一个等分线4 1,2 3因此输出将是真实的。 但是对于输入而言1 2 3 4 5,没有平分线,因此输出将是虚假的: 其他例子 以其他方式排列数字可能会消除等分线。 例如2 1 3 4→虚假: 如果输入列表中只有一个数字,则饼图不会一分为二。 例如10→虚假: 可能有多个平分线。只要大于零,输出就是真实的。 例如6 6 12 12 12 11 1 12→真实:(这里有3个等分线) 即使平分在视觉上不明显,也可能存在。 例如1000000 1000001→虚假: 例如1000000 1000001 1→真实: (感谢nces.ed.gov生成饼图。) 测试用例 …
43 code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

30
真正的苗条遮荫
以尽可能少的字节回显以下内容: I'm Slim Shady. Yes, I'm the real Shady. All you other Slim Shadys are just imitating. So, won't the real Slim Shady please stand up? Please stand up. Please stand up. 以下五个单词必须在您的代码中完全出现一次: I'm Slim Shady real stand

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.