Questions tagged «code-challenge»

代码挑战赛是一种创造性的竞赛,可以用客观的获胜标准来解决编程难题,而其他得分标记(例如,代码高尔夫)则无法涵盖这些目标。

8
编写Hang子手解算器
您需要编写一个Hangman解算器。根据该英语单词列表[1]进行测试,解决最多单词数量的求解器获胜,而总不正确猜想的数量成为决胜局。单词列表中的所有单词将以随机顺序进行测试。 [1]:从此处获取此单词列表,然后删除数字,然后删除长度为1或带有非字母字符的单词,然后选择最常见的4096个唯一单词作为此单词列表。 细节: 您的程序将与游戏程序进行交互,该程序将通过stdin为您提供下划线和正确猜出的字母。您的程序将给出您的猜测的标准,并且必须从输入中推断先前的猜测是对还是错。错误6次后,您的程序将丢失。每个游戏结束后(输赢之后),您的程序必须为下一个游戏做好准备。 您的代码长度必须严格小于2048个字节,并且程序不得使用任何外部资源(包括但不限于访问本地存储或Internet上的单词表)。 示例:(输入之前>仅在此处进行澄清-输入中实际上不存在该输入) >_______ // 7 underscores a // Now you wait for input again >_a___a_ e >_a___a_ // Implies that your guess is wrong >_____ // new round, this will be given ONLY IF you already have 6 losses 假设您有6次错误,您将收到一个最终输入,表示您的猜测是错误的,并且您的程序必须准备好开始新的回合(即再次输入)。 如果赢了 >_angman h >hangman >_____ // …

12
死鱼短号
死鱼是最著名的非图灵完全编程语言之一。它只有一个累加器(从0开始)来存储数据,并且只有四个命令: i - Increment the accumulator s - Square the accumulator d - Decrement the accumulator o - Output the accumulator Deadfish程序可能类似于: iiisdo 那会打印: 8 挑战 创建一个程序,该程序将输入数字并输出Deadfish代码以显示该数字。(或创建一个将数字作为参数并返回代码的函数。)它必须适用于从0到的任何整数255 目标 尝试使您的代码尽可能短的代码生成给定的数字。例如: iiiiiiiiio 和 iiiso 每次打印9,但第二个较短。 计分 你的分数是: The number of characters in your source code + The sum of the lengths of …

11
使StackOverflow爆炸(书签)[关闭]
有时,人们对StackExchange网络感到沮丧(尤其是SO)。 您的任务是创建一个书签,使StackOverflow以某种方式爆炸/爆炸/破坏。这将提供更好的分散挫败感的方法。 规则: 它必须是小书签的形式 必须在Chrome和Firefox中运行(最新稳定版本) jQuery在该站点上,因此您可以使用它 没有创建拉爆炸explistitThisPage.js或类似的脚本标签 评分是需要复制和粘贴的字符数,除了: -1,如果您包含说明 每次投票-5 -10(如果您不使用jQuery) -10如果发出爆炸声 + 9e72如果确实对站点造成伤害(F5应该修复损坏) 如果gif令人分心,请将其删除。

30
查找包含每个元音的单词
您的程序必须在此单词表中找到包含所有元音(a e i o u y)的所有单词。有很简单的方法可以做到这一点,但是我正在寻找最短的答案。我会选择任何语言,但我想看看Bash。 这是一个示例(可能会大大改善): cat wordlist.txt | grep "a" | grep "e" | grep "i" | grep "o" | grep "u" | grep "y" 您的分数就是代码的长度。 -5分,用于计算单词的所有出现次数。 最低分获胜。

4
黑帽在哪里?
挑战 编写代码,给定一个来自随机xkcd漫画的面板图像,如果Blackhat出现在漫画中,则返回真实值;否则返回falsey。 谁是黑帽? Blackhat是给戴着黑帽子的xkcd漫画中的角色赋予的非正式名称: 取自Blackhat的Explain xkcd页面 Blackhat的帽子始终是直边的,黑色的,外观与上图中的相同。 其他角色可能也有帽子和头发,但没有一个人会戴着黑色和直边的帽子。 输入值 您可以通过STDIN以任何方式输入图像,无论是图像的路径还是字节。您不需要将URL作为输入。 规则 禁止对答案进行硬编码,但是不胜感激。 您无权访问互联网以获得答案。 例子 所有图片均来自https://xkcd.com中的图片 面板中有Blackhat(返回truthy) 黑帽不在面板中(返回falsey) 测试电池 包含Blackhat的20个图像可以在这里找到:https : //beta-decay.github.io/blackhat.zip 可以在此处找到不包含Blackhat的20张图像:https://beta-decay.github.io/no_blackhat.zip 如果要使用更多图像来测试程序(以训练神秘的测试用例),可以在这里找到Blackhat的所有外观列表:http://www.explainxkcd.com/wiki/index.php/Category: Comics_featuring_Black_Hat 获奖 该程序可以正确识别Blackhat是否在漫画中占大多数。标头应包括分数。 在抢七的情况下,捆绑的程序将获得“神秘”图像(即,只有我知道的图像)。确定最正确的代码将赢得平局。 神秘的图像将与分数一同显示。 注意: Randall的名字似乎是Hat Guy。我更喜欢Blackhat。

4
包含所有自由n-氨基酸的平面的最小区域
在Math Stack Exchange上,我问了一个有关可以包含所有自由n-ominos的最小区域的问题。 一旦我有更多的用语,我想将此序列添加到整数序列在线百科全书中。 例 九个单元格区域是平面的最小子集,可以包含所有十二个自由的5个氨基酸,如下所示。(免费的多米诺骨牌可以旋转和翻转。) (十二个单元格的区域是平面的最小子集,可以包含所有35个自由的6个氨基酸。) 挑战 计算平面中可以包含所有n-氨基酸作为n的函数的最小范围的上限。 这样的表开始: n | size --+------- 1 | 1* 2 | 2* 3 | 4* 4 | 6* 5 | 9* 6 | 12* 7 | 37 8 | 50 9 | 65 *These values are the smallest possible. 提交示例 1-omino: 1 …

6
相互排斥的奎因
您的挑战很简单。编写两个互不输出字符的程序。 例 如果满足以下条件,则两个程序P和Q是互斥的。 P输出Q Q输出P 没有字符c属于P和Q 每个程序P和Q都是适当的 这会将空的quines和读取自己(或其他)源代码的quines视为invalid。 更多规则 这些程序的总长度最短者获胜。也就是说,大小(P)+大小(Q)是您的得分,最低得分获胜。 两种程序使用相同的语言 每个程序可以是完整的程序或功能,而不必相同。 例如,P可以是完整程序,而Q可以是函数。 验证 这可以在线进行!此处的代码段可以验证两个程序是否互斥。输入将放在前两个参数中。

2
关于奎因
受超编程启发:N + N,N×N,N ^ N合而为一。 感谢@MartinEnder和@trichoplax在沙箱中的帮助。 定义 超喹 将阶数为n的超quine 定义为类似于 quine的完整程序或函数P ,该程序或函数P满足适用于适当quines的所有规则,并且具有以下结构。 P是由相同字符的n个副本组成的字符‡组的串联。当执行P时,输出是相同组的串联,再增加一个字符副本。 例子 在源代码aabbcc生成输出的假设编程语言中aaabbbccc,此程序构成2阶的超喹。 该定义并没有要求不同群体的特点是不同的。 如果源代码aabbcc生成输出aaaabbbbcccc,则该程序是1阶的超喹啉; 源代码包含六个单字符组,六个字符对的输出。 在GS2中,将打印空程序\n,然后\n打印程序\n\n。但是,\n也不\n\n是超级喹,因为它们不能满足适当喹的所有特性。源代码的任何部分都不会编码输出的不同部分。 超喹链 将长度为n的超链链定义为满足以下约束的n个完整程序或n个函数(P 1,…,P n)的有限序列。 的输出P 1,...,P N-1是P 2,...,P Ñ,分别。 P 1,…,P n是超喹。 的订单P 1,...,P Ñ形成严格递增的顺序相邻的整数。 最后,将无限个超喹链定义为完整程序或函数(P 1,P 2,...)的无限序列,以使每个初始间隔(P 1,…,P n)构成长度为n的超喹链。 例子 在一种假设的编程语言中,其中的源代码aabbcc生成输出aaabbbccc,然后生成输出aaaabbbbcccc,该对(aabbcc,aaabbbccc)构成长度为2的超喹链。 请注意,aaaabbbbcccc–链中最后一个hyperquine的输出–不必产生特定的输出;它甚至不必是有效的源代码。 继续前面的例子,如果aaaabbbbcccc生成输出aaaaabbbbbccccc,三重态(aabbcc,aaabbbccc,aaaabbbbcccc)构成长度的hyperquine链3。 如果这种模式继续永远,序列(aabbcc,aaabbbccc,aaaabbbbcccc,...)构成的无限hyperquine链。 在对程序(abc,aabbcc与输出)( ,aabbcc)aaaabbbbcccc是不一个hyperquine链,由于hyperquines的命令都是1,所以它们不形成一个严格递增顺序。 在对程序(aabbcc,aaaabbbbcccc与输出)( ,aaaabbbbcccc)aaaaabbbbbccccc是不一个hyperquine链,由于hyperquines的顺序是1和4,所以它们不形成相邻的整数的序列。 规则 任务 …

30
无效的Invali无效
这个想法大致基于@TùxCräftîñg的聊天消息。 看一下下面的示例序列: INVALID0,INVALID1,INVALID2 INVALID3,INVALID4...INVALID9 之后INVALID9,它像这样继续: INVALI0,INVALI1,INVALI2,INVALI3...INVALI9 之后INVALI9,是这样的: INVAL0,INVAL1,INVAL2,INVAL3...INVAL9 之后,INVAL9是这样的: INVA0,INVA1,INVA2,INVA3,...INVA9 注意我们如何INVALID每次都从单词中删除字母。 您将不断重复此操作,直到到达单个字母,即字母I: I0,I1,I2,I3,I4...I9 现在,您的任务是,像上例一样,输入一个单词,并从中产生一个序列。您的代码还必须使用单个字母,在这种情况下,结果序列将更短。 您可以选择自己喜欢的任何输入和输出格式(根据需要选择带或不带分隔符),但是必须指定选择的格式。 顺序必须严格按照指定的顺序进行。 成功完成此挑战的最短代码(以字节为单位)将赢得挑战。 上例中的完整序列: INVALID0, INVALID1, INVALID2, INVALID3, INVALID4, INVALID5, INVALID6, INVALID7, INVALID8, INVALID9, INVALI0, INVALI1, INVALI2, INVALI3, INVALI4, INVALI5, INVALI6, INVALI7, INVALI8, INVALI9, INVAL0, INVAL1, INVAL2, INVAL3, INVAL4, INVAL5, INVAL6, INVAL7, INVAL8, INVAL9, INVA0, INVA1, …

18
旋转对称数
给定一个整数,如果它是相同的上下颠倒(旋转180°),则输出真实值,否则输出虚假值。 0,1并且8具有旋转对称性。6成为9,反之亦然。 产生真实结果的数字序列:OEIS A000787 0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, 10001, 10101, 10801, 11011, 11111, 11811, 16091, …
27 code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

6
滑动式转换器
SwiftKey在2014年4月1日发布了笔记本电脑打字的下一次革命。但是,我想成为第一个编写可擦写纳米克隆的人,但是,由于找不到适合实际文本库的可擦写文本,而且我等不及了,所以我在这里问。 任务 编写一个程序,该程序接受划动文本并输出等效的实文本。例: Input: hgrerhjklo Output: hello 当用户这样做时: 其他例子: Input: wertyuioiuytrtjklkjhgfd Output: world Input: poiuytrtyuioiugrewsasdfgbhnmkijnbg Output: programming Input: poiuygfdzxcvhjklkjhgres Output: puzzles Input: cvhjioiugfde Output: code Input: ghiolkjhgf Output: golf 规则 该程序将在stdin或argv上输入一个刷过的“单词” 滑动输入的首个字母和最后一个字母将等于真实单词的首个字母和最后一个字母 您可以假设用户将做出合理的直线,但是您可以使用样本数据来验证这一点(我制作了样本数据,然后制作了最终的测试数据) 对于模棱两可的输入,您可以选择任一输出,但是我将尝试消除测试数据中的所有模棱两可 该单词将在此单词列表中(但会被刷掉)。单词列表将在当前目录中,并且可以读取(换行符分隔,将命名为wordlist,无扩展名)。 滑动仅包含小写字母字符 如果用户在按键上暂停,则滑动可能包含重复的字符 程序必须在stdout上输出(大小写无关紧要) 程序必须0作为返回码返回 您必须提供运行命令,编译命令(如果需要),名称以及要使用的输入路径 存在标准漏洞(尽管可能没有帮助) 不允许非内置库 确定性,非高尔夫/模糊解决方案优先 没有文件写入,联网等 您的代码必须在一秒钟或更短的时间内运行(您的代码每个单词运行一次) 计分运行在具有4个虚拟代码(2个真实代码)的Intel i7 Haswell处理器上运行,因此如果需要,您可以使用线程 最大代码长度为5000字节 您使用的语言必须具有可用于Linux的免费(非试用版)版本(Arch …

24
用尽可能少的不同字符打印字符串
任务很简单:在源代码中The quick brown fox jumps over the lazy dog使用尽可能少的不同字符进行打印。 print "The quick brown fox jumps over the lazy dog"的分数为29个字符,因为所有26个小写字母至少出现一次,以及大写的T,空格和引号字符。不过,我敢肯定,您可以在其中发挥更大的创意! 禁止使用Brainfuck,Whitespace和类似语言(由我自行决定)。换行符算作一个字符。该代码可以是必要的长度。我将在美国东部时间4月21日晚上11:59接受解决方案。如果出现平局,将接受较短的答案。

21
最有效且最短代码的前n个质数列表
规则很简单: 第一n素数(未引发(prime)下面Ñ),应打印到标准输出由分离的换行(素数应的代码内产生) 素数不能通过内置函数或库来生成,即,使用诸如prime = get_nth_prime(n),is_a_prime(number)或factorlist = list_all_factors(number)之类的内置函数或库函数不会很有创意。 评分-假设我们定义得分 = f([代码中的字符数]),O(f(n))是算法的复杂度,其中n是找到的素数。因此,例如,如果您有一个复杂度为O(n ^ 2)的300个字符代码,则分数为300 ^ 2 = 90000,对于具有O(n * ln(n))的300个字符,分数将变为300 * 5.7 = 1711.13(为了简单起见,假设所有日志都是自然日志) 使用任何现有编程语言,得分最低 编辑:由于对O(f(n))中的“ n”是什么感到困惑,所以问题已从查找“前1000000个素数”更改为“前n个素数”,n是找到的素数(查找素数为问题在这里,所以问题的复杂性取决于找到的素数) 注意:为了澄清一些复杂性,如果'n'是找到的素数,而'N'是找到的第n个素数,则复杂度就n为,而N不等价,即O(f(n))! = O(f(N)) as,f(N)!=常数* f(n)和N!=常数* n,因为我们知道第n个素数函数不是线性的,尽管我发现了'n'素数复杂度应易于用“ n”表示。 正如Kibbee所指出的,您可以访问此网站来验证您的解决方案(此处是旧的google文档列表) 请在您的解决方案中包括这些- 您的程序有什么复杂性(如果不琐碎,请包括基本分析) 字符长度 最终计算出的分数 这是我的第一个CodeGolf问题,因此,如果以上规则有误或漏洞,请指出。


10
我可以说您的程序多快?
我最近决定下载一些听写软件,以帮助我写作。但是,当我编码时,它不能很好地工作,因为我必须从说单词变成符号,然后再返回。当我使用所有符号的深奥语言编写代码时,情况甚至更糟。 为了使听写程序的使用更加一致,我决定将其切换到字符模式,在这里我只说每个字符的名称。问题解决了!虽然这确实延迟了我的小说的发行日期... 因此,假设角色名称越长,说的时间就越长,那么我要花多长时间才能拼出我的某些程序/句子? 技术指标 给定仅包含可打印ASCII的字符串,请返回每个字符的Unicode名称之和。例如,/被称为SOLIDUS具有7个字符,并且A是LATIN CAPITAL LETTER A与22个字符。 但是请记住,我必须大声说出您的程序才能执行它们,所以它们的得分将取决于我说它们所花费的时间,即每个字符的unicode名称的长度之和。 测试用例: 格式input => output为在输入中没有尾随/前导空格。 A => 22 / => 7 Once upon a time... => 304 slurp.uninames>>.comb.sum.say => 530 JoKing => 124 !" #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ => 1591 Double-check your \s on the last test case ;) => 755 <say "<$_>~~.EVAL">~~.EVAL => 388 …

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.