Questions tagged «kolmogorov-complexity»

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

30
一堆空白的凝视
问题 在没有输入的情况下,编写输出或返回以下字符串的程序或函数: (<(<>(<>.(<>.<(<>.<>(<>.<>)<>.<>)>.<>).<>)<>)>) 规则 最短的程序获胜。 允许尾随空格。 允许尾随换行符。 允许使用的功能未使用的参数。

30
永远载入中……Windows风格
按照以下说明制作Windows样式的加载栏。 (请注意,这与Loading ... Forever不同) 您的输出应以开头[.... ]。 每次滴答,您都应等待100毫秒,然后将每个点向右移动一个字符。如果点在第十个字符上,则将其移至第一个字符。请注意,在再次输出之前,您应该清除屏幕。输出顺序如下: [.... ] [ .... ] [ .... ] [ .... ] [ .... ] [ .... ] [ ....] [. ...] [.. ..] [... .] ..然后它永远循环。 规则 这是代码高尔夫,所以最短答案会胜出,我怀疑我什至会接受一个成功答案 请尽可能提供加载栏的gif文件。

23
数山羊入睡
有些人数羊入睡。其他人则数山羊。 编写一个程序或函数,该程序接受一个正整数N并输出N-1个清醒的山羊,然后输出一个熟睡的山羊,就好像有人在计数N个山羊,最后他们睡着了一样。 清醒的山羊看起来像这样: \ ___/o> -(___)" '' '' 睡觉的山羊看起来像这样: \ ___/-> ,(___)" `` `` 它们通过相邻山羊的胡须和尾巴之间的单个空间链接在一起: \ \ \ ___/o> ___/o> ___/-> -(___)" -(___)" ,(___)" '' '' '' '' `` `` 输出允许有尾随空格和一个尾随换行符。 以字节为单位的最短代码获胜。 例子 N = 1: \ ___/-> ,(___)" `` `` N = 2: \ \ ___/o> ___/-> -(___)" ,(___)" …

13
ASCII艺术中一位老朋友的照片
我希望这张照片对您来说很熟悉。 吃了强力药后,这是吃豆人处于“脆弱”状态的幽灵之一。 挑战 使用ASCII艺术作品在一个小帧中描绘我们的幽灵。在正常比例下(稍后会对此有更多介绍),上图中的每个正方形应对应一个字符,并且框架的上,下应具有一个字符的分隔,并且在虚影的左侧和右侧应具有两个字符的分隔: #################### # # # #### # # ######## # # ########## # # ############ # # ############ # # ### ## ### # # #### ## #### # # ############## # # ############## # # ## ## ## ## # # # ## ## ## # …

11
为我真正的朋友打高尔夫球
...以及我的代码朋友真正的高尔夫。 这是一个以一岁的XKCD漫画为基础的挑战,该漫画主要由吐司(漫画中第一个漫画的模仿者)组成,遵循不同的模式,但略有不同。 您的任务是编写一个程序(或函数),以将漫画中任何吐司的上半部分(包括在内的所有内容friends)作为输入(通过stdin或函数参数)并输出(或返回)下半场。您不必处理无效输入,适用标准漏洞,以字节为单位的最短代码获胜。 例子 为了帮助那些不想从任何其他地方复制吐司的人,这里的所有内容都分为输入和输出。 Input: Champagne for my real friends Output: and real pain for my sham friends! Input: Pseudopods for my real friends Output: and real pods for my pseudo-friends! Input: Petticoats for my real friends Output: and real coats for my petty friends. Input: Loosestrife for my …

9
蛇化字符串
修饰后的字符串如下所示: T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt 你的任务 取一个字符串s和一个size n,然后输出连串的字符串。输入ThisIsAnExampleOfaSnakifiedString和3将产生上面的示例。 技术指标 s 只会在代码点33和126之间(含端点)包含ASCII字符(不包含空格或换行符)。 s 长度在1到100个字符之间。 n是一个整数,代表每个输出字符串段的大小。组成“蛇”中曲线的每一行字符(上/下或左/右)都是n字符长。有关示例,请参见测试用例。 n 介于3到10之间(含3和10)。 输出字符串始终开始指向下方。 每行上都可以使用尾随空格。 在输出末尾也可以尾随换行符。 不允许前导空格。 code-golf表示以字节为单位的最短代码获胜。 测试用例 a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

30
创建一个魔术8球
小时候,我的朋友有一个神奇的8号球,我们会问这个问题,看看这个问题的命运是什么。 挑战 您面临的挑战是编写一个程序(或函数),在运行(或调用)时,从以下可能的答案中输出(或返回)随机答案。(随机为:each output should have a nonzero chance of occurring but they do not need to meet any other criteria) 魔术8球的可能答案是(不区分大小写): It is certain It is decidedly so Without a doubt Yes definitely You may rely on it As I see it, yes Most likely Outlook good Yep Signs …

14
使ASCII蝙蝠绕ASCII月亮飞
背景 这是万圣节相关的挑战。 正如您从上一个挑战中看到的那样,我非常喜欢我所说的ascii艺术动画,它不仅画出一个图案,而且画出一个不断发展的图案。几年前,我被要求在万圣节那天让随机的ascii蝙蝠在屏幕上飞起来,使我的想法变得生动(有点呆板)后,我想到了这个主意。毋庸置疑,我有义务履行义务(为此而得到报酬),但这使我认为生活比随机蝙蝠还重要。受此启发,我想提出这一挑战。 挑战 蝙蝠绕月飞行。 这是一只蝙蝠: ^o^ 这是月亮: mmm mmmmmmm mmmmmmmmm mmmmmmm mmm 您必须显示蝙蝠飞行的每个阶段(请参见输出)。 输入项 没有 输出量 ^o^ mmm mmmmmmm mmmmmmmmm mmmmmmm mmm mmm^o^ mmmmmmm mmmmmmmmm mmmmmmm mmm mmm mmmmmmm^o^ mmmmmmmmm mmmmmmm mmm mmm mmmmmmm mmmmmmmmm^o^ mmmmmmm mmm mmm mmmmmmm mmmmmmmmm mmmmmmm^o^ mmm mmm mmmmmmm mmmmmmmmm mmmmmmm mmm^o^ mmm mmmmmmm …

9
“排序”算法
有一种“排序算法”,有时也称为Stalin排序,在该算法中,为了对列表进行排序,您只需从列表中删除元素,直到其按升序进行排序即可。例如清单 [1, 2, 4, 5, 3, 6, 6] 当使用斯大林排序进行“排序”时 [1, 2, 4, 5, 6, 6] 这三个被删除,因为它故障。 现在显然有许多方法可以删除元素以对列表进行排序。例如,任何少于两个元素的列表都必须进行排序,因此只要盲目地删除足够的元素,我们就可以对列表进行排序。既然是这种情况,我们只在乎斯大林排序可能的最长结果。 您的任务将是获取一个正整数列表,并输出可以通过从原始列表中删除元素而得出的最长排序(递增)列表的长度。那就是找到最长排序的(可能是非连续的)子列表的长度。 排序的列表可以连续多次具有相同的元素。除非程序本身为空,否则不需要支持空列表。 计分 您的答案将根据其可能的最长斯大林排序长度进行评分。程序将被解释为字节序列而不是字符序列,并且它们的顺序将是通过将字节解释为数字而产生的自然顺序。分数越低越好。 这不是代码高尔夫 这是一个简洁的工具,可帮助您对答案进行评分。 测试用例 [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

21
语音电话号码
目标 编写程序或函数,将数字电话号码转换为易于说出的文本。重复数字时,应将它们读为“双n”或“三n”。 要求 输入项 一串数字。 假设所有字符都是从0到9的数字。 假设该字符串包含至少一个字符。 输出量 用空格隔开的单词,这些单词如何大声读出。 将数字翻译成单词: 0“哦” 1“一个” 2“两个” 3“三个” 4“四个” 5“五个” 6“六个” 7“七个” 8“八个” 9“九” 当同一位数字连续重复两次时,请输入“ double number ”。 当同位重复三次成一排,写“三重号 ”。 当同一位数字重复四次或更多次时,请为前两位数字输入“ double number ”,并评估字符串的其余部分。 每个单词之间只有一个空格字符。可以使用单个前导或尾随空格。 输出不区分大小写。 计分 字节最少的源代码。 测试用例 input output ------------------- 0123 oh one two three 4554554 four double five four double five …

24
这是Loeschian号码吗?
正整数k是Loeschian数,如果 k可以表示i*i + j*j + i*j为i,j整数。 例如,第一正Loeschian号码为:1(i=1,j=0); 3(i=j=1); 4(i=2,j=0); 7(i=2,j=1); 9(i=-3,j=3); ...注意i,j对于给定k的不是唯一的。例如,9也可以与产生的i=3,j=0。 这些数字的其他等效特征是: k可以表示i*i + j*j + i*j为i,j非负整数。(对于每对整数i,j都有一对给出相同值的非负整数k) 有一组k连续的六边形在六边形网格上形成网格化(请参见k = 4和的插图k = 7)。(由于这个属性,这些数字可在移动蜂窝通信网络中找到应用。) 在序列的OEIS页面中查看更多特征。 挑战 给定一个正整数,如果它是Loeschian数,则输出真实结果,否则,则输出虚假结果。 程序或函数应处理(例如不到一分钟)最多达1000或数据类型限制的输入。 代码高尔夫。最短的胜利。 测试用例 以下数字应输出真实结果: 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 以下数字应输出虚假结果: 2, 5, 10, 42, 101, 102, 128, 150, 501, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

11
正在播放什么歌曲?
受此xkcd启发 您为Shazam工作,他们为您提供了一个项目。一些客户抱怨他们的应用程序占用了手机太多的空间,因此他们希望您编写精简版的应用程序代码。不幸的是,您现有的代码只能理解单词“ na”,因此您必须尽快发货。没关系,我们将竭尽所能。 挑战 您必须编写一个完整的程序来接受用户输入,或者接受命令行参数,然后打印歌曲的标题和艺术家。由于我们正在努力解决抱怨程序大小的客户,因此您的代码必须尽可能短。输入将是一个完全由na组成的字符串,它们之间有一个空格。小写/大写是任意的。这被认为是有效的输入:Na Na nA na NA这是无效的输入:nah nah NA naNa banana您必须确定正在播放的歌曲,并以这种格式将其打印出来: Song: <trackname> Artist: <artist> 如果输入正好是 8 na,则匹配两首独立的歌曲,因此您必须同时打印两首: Song: Batman Theme Artist: Neal Hefti 和 Song: Na Na Hey Hey Kiss Him Goodbye Artist: Steam 如果输入正好是 10 na,则必须打印: Song: Katamari Damacy Artist: Yuu Miyake 如果输入正好是 11 na,则必须打印: Song: …

14
莫尔斯新年
这是每周挑战#1。主题:音频处理 你的任务是写一个程序,这将写入音频文件光盘(在您所选择的格式),其中包含了摩尔斯电码的2015,即 ..--- ----- .---- ..... 您可以自由选择片段的任何声音,例如单频正弦波,和弦,杂音和某些乐器(例如,使用MIDI文件),只要可以听到即可。但是,在时间安排上有一些限制: 短片段的长度至少应为0.2秒。 长片段的长度至少应为短片段的3倍。 一个数字段之间的中断应与短段的长度相同。 数字之间的间隔应与长段的长度相同。 每个细分市场和细分可能会偏离该细分市场/细分类型的平均长度最多10%。 整个音频文件不得超过30秒。 休息时间不必完全保持沉默,但莫尔斯电音片段的声音应该比休息时间大。 请注意,您必须编写一个音频文件。您不能仅仅播放声音,例如使用系统提示音。您可以使用任何类型的库来处理文件格式和音频生成,但不得使用内置功能进行Morse编码。 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。 请考虑链接到生成的音频文件的上载(在SoundCloud或类似设备上),以便人们可以检出结果而不必运行您的代码。如果您上传到SoundCloud,请确保在曲目的“权限”选项卡中启用下载。 如果您的输出使用的是不太常见的文件格式,请添加一些有关如何播放和/或将其转换为更常见的格式并上载的信息。 示例轨道 这是一个手动生成的示例音轨,符合规范,并使用了莫尔斯线段的噪声(准确地说是麦克风背景噪声)。如果嵌入式播放器不适合您,这是指向SoundCloud的链接。 赏金详情 我将奖励以音频编程语言(即一种旨在合成声音的语言)中提交时间最短的方法。该列表不完整,因此,如果您知道的话,请随时使用另一种音频编程语言。如果您不确定您要使用的某种语言是否分类为音频编程语言,请在评论中或在聊天中告知我,我们可以进行讨论。 请注意,您提交的内容仍必须遵守所有规则-特别是必须写入文件,这可能并非在所有音频编程语言中都可行。例如,据我所知,gibber只能播放声音,而不能将其保存到文件中。

9
那位神奇宝贝是谁?
输入:1到151之间的整数N 输出:第N个神奇宝贝。 规则 您可以使用一个数据文件。 您可能不使用任何已经制定的数据解压缩算法。这包括库和其他程序。 您的程序可能无法访问其自身和数据文件以外的文件。 计分 您的分数是代码和数据文件长度的总和。 有用的东西 以下是用分号分隔的前151个宠物小精灵的列表,可帮助您生成数据文件。您的输出应与该行的第N个条目完全匹配: Bulbasaur;Ivysaur;Venusaur;Charmander;Charmeleon;Charizard;Squirtle;Wartortle;Blastoise;Caterpie;Metapod;Butterfree;Weedle;Kakuna;Beedrill;Pidgey;Pidgeotto;Pidgeot;Rattata;Raticate;Spearow;Fearow;Ekans;Arbok;Pikachu;Raichu;Sandshrew;Sandslash;Nidoran (f);Nidorina;Nidoqueen;Nidoran (m);Nidorino;Nidoking;Clefairy;Clefable;Vulpix;Ninetales;Jigglypuff;Wigglytuff;Zubat;Golbat;Oddish;Gloom;Vileplume;Paras;Parasect;Venonat;Venomoth;Diglett;Dugtrio;Meowth;Persian;Psyduck;Golduck;Mankey;Primeape;Growlith;Arcanine;Poliwag;Poliwhirl;Poliwrath;Abra;Kadabra;Alakazam;Machop;Machoke;Machamp;Bellsprout;Weepinbell;Victreebell;Tentacool;Tentacruel;Geodude;Graveler;Golem;Ponyta;Rapidash;Slowpoke;Slowbro;Magnemite;Magneton;Farfetch'd;Doduo;Dodrio;Seel;Dewgong;Grimer;Muk;Shellder;Cloyster;Gastly;Haunter;Gengar;Onix;Drowsee;Hypno;Krabby;Kingler;Voltorb;Electrode;Exeggute;Exeggutor;Cubone;Marowak;Hitmonlee;Hitmonchan;Lickitung;Koffing;Weezing;Rhyhorn;Rhydon;Chansey;Tangela;Kangaskhan;Horsea;Seadra;Goldeen;Seaking;Staryu;Starmie;Mr. Mime;Scyther;Jynx;Electabuzz;Magmar;Pinsir;Tauros;Magikarp;Gyarados;Lapras;Ditto;Eevee;Vaporeon;Jolteon;Flareon;Porygon;Omanyte;Omastar;Kabuto;Kabutops;Aerodactyl;Snorlax;Articuno;Zapdos;Moltres;Dratini;Dragonair;Dragonite;Mewtwo;Mew

5
左手与右手-打字员挑战
您的任务是使键盘的每一侧相互靠拢,并以相同的语言构建两个程序,一个程序仅使用输出的标准键盘左侧的键,另一个程序使用输出Pollinium milk; plump pumpkin; lollipop?的右侧键盘的键。Weatherheaded sweetheart haberdasheress!。 规则 左侧程序所允许的确切键为: 123456!@#$%^QWERTYqwertyasdfghASDFGH`zxcvb~ZXCVB 对于右侧程序: 7890-=&*()_+uiop[]UIOP{}jkl;'\JKL:"|nm,./NM<>? 有四个可用的键Esc(\x1b),Tab(\x09),Space(\x20)和Enter(\x0a和/或\x0d),它们都不能用于两种解决方案,也可以两种都不能使用。 您的分数将是两个程序的总字节数。虽然我使用了术语program,但是您的提交可以是完整程序,也可以是正常功能,并且两者可以是不同的类型(例如,一个完整程序和一个功能)。 您的结果必须包含所需的文本,只要在其中包含确切的文本,任何大小的前导和尾随空格都是可以的。 禁止出现标准漏洞。 每种语言中最短的解决方案将获胜。

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.