Questions tagged «code-challenge»

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

28
计算超级对数
这应该是一个简单的挑战。 给定一个数字n >= 0,输出的超级对数(或log *,log-star或迭代对数,它们是等效的,因为n对于该挑战永远不会为负。)n。 这是四官能的两个反函数之一。另一个是超级根,这是一个相关的问题。 例子 Input Output 0 0 1 0 2 1 3 2 4 2 ... 15 2 16 3 ... 3814279 3 3814280 4 规则 您可能不需要支持小数。 您需要至少支持输入3814280 = ceiling(e^e^e)。 您可能不对值进行硬编码3814280。(理论上,您的程序必须支持更高的数字。)我希望实现一种算法。 最短的代码胜出。 相关OEIS
29 code-golf  math  code-golf  array-manipulation  sorting  code-golf  math  arithmetic  matrix  code-golf  string  kolmogorov-complexity  code-golf  string  code-golf  math  sequence  arithmetic  recursion  code-golf  math  ascii-art  sequence  code-golf  math  array-manipulation  code-golf  code-golf  kolmogorov-complexity  code-golf  string  code-golf  string  decision-problem  code-golf  array-manipulation  tips  javascript  json  code-golf  math  string  number  number-theory  code-golf  math  sequence  fibonacci  number  arithmetic  fastest-code  integer  code-golf  math  sequence  code-golf  string  file-system  tips  golfscript  code-golf  string  code-golf  string  natural-language  code-golf  string  file-system  code-golf  math  array-manipulation  code-challenge  image-processing  compression  code-golf  math  number  sequence  code-golf  math  combinatorics  regular-expression  code-golf  sequence  pi  code-golf  ascii-art  code-golf  string  array-manipulation  sorting  code-golf  string  graph-theory  code-golf  string  code-golf  string  ascii-art  code-challenge  compression  code-golf  code-golf  math  sequence  number-theory  code-golf  maze  graph-theory  code-golf  math  sequence 

3
装满填料的盒子
您的任务是编写一个程序或函数,该程序或函数可以用质数填充给定的矩形。矩形的width和height将作为输入。输出必须是height由width数字和空格组成的字符串列表。长度为2或更大的每个水平(从左到右)和垂直(从上到下)数字序列(由空格或矩形边框分隔)必须是质数。每个素数只能使用一次。不允许前导零。在输出中尾随新行是可选的。 例: With input (5, 3) a valid output would be: 11 13 7 0 173 which scores 11, 13, 173, 17, 103 for a total of 5 points. 得分: 得分的矩形大小为80, 60。矩形中长度为2或更大的每个水平或垂直素数得分为1分。得分最高的答案将获胜。如果出现平局,最早的答案将获胜。 规则: 禁止出现标准漏洞。 您的程序不能为该80, 60大小设计。如果我怀疑此大小的答案是最佳的,我保留将矩形大小更改为的权利100, 100。 使用的素数必须是实数素数(不是概率素数或伪素数)。您的程序可能会在运行时计算或检查数字,或者对其进行硬编码。查找素数的方法不是挑战的重要部分。 您的答案应包括输出文本和代码。如果您的程序太大,则可能只包含一些核心算法代码,并附带一些解释。 编辑:阐明需要真正的素数。增加了最大矩形尺寸。 编辑2:阐明了需要发布的代码。

2
什么代码可以使用最多的语言进行编译?[关闭]
除琐碎的程序外,什么代码可以用最多的语言进行编译? (“琐碎”是指排除诸如空程序或将直接回显的文本之类的答案。) 以下代码显然可以在以下所有编程语言中进行编译(并且在每种语言中打印出不同的内容):C,C ++,Perl,TeX,LaTeX,PostScript,sh,bash,zsh和Prolog。 %:/*:if 0;"true" +s ||true<</;#|+q|*/include<stdio.h>/*\_/ {\if(%)}newpath/Times-Roman findfont 20 scalefont setfont( %%)pop 72 72 moveto(Just another PostScript hacker,)show(( t)}. t:-write('Just another Prolog hacker,'),nl,halt. :-t. :-initialization(t). end_of_file. %)pop pop showpage(-: */ int main(){return 0&printf("Just another C%s hacker,\n",1% sizeof'2'*2+"++");}/*\fi}\csname @gobble\endcsname{\egroup \let\LaTeX\TeX\ifx}\if00\documentclass{article}\begin{doc% ument}\fi Just another \LaTeX\ hacker,\end{document}|if 0; /(J.*)\$sh(.*)"/,print"$1Perl$2$/"if$_.=q # hack …

30
聪明人的海市age楼
从前,我在阅读有关Quora的问题/答案 真的有没有计算机科学学位的程序员无法通过FizzBu​​zz测试 此代码是显而易见的答案 for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i 当然,FizzBu​​zz已经被打死了,但这并不是这个问题的实质。您会在评论中看到有人提到该答案很不错,因为很容易添加额外条件,例如将“ Jazz”打印为4的倍数。(我不同意。扩展此方案需要O(2 ** n )代码行。) 您的挑战是编写由同行判断的最漂亮的FizzJazzBuzz版本。 选民需要考虑的一些事项: 干 除法/模运算的效率 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

30
Rand5()至Rand7()
为您提供了一个函数Rand5()。此函数返回1到5之间的完全随机(均分布)整数。 提供函数Rand7(),该函数使用Rand5()产生1到7之间的完全随机整数。

18
站在长长的奎因线旁
或:建立垂直的麦片 受到启发站在长排线上。 您的任务是构建一个垂直的quine,并使其线长度尽可能短。 计分 最短的行长(不包括换行符)获胜,同时使用代码高尔夫标准作为决胜局。 行长确定为程序中最长的行,不包括换行符。 例如: $_= Q. P 行长为3,字节数为8,而: Q $ _ P 行长为1,字节数为7(假设没有尾随换行符)。 规则 提篮必须符合提篮的社区定义。 禁止出现标准漏洞。

6
救命!我的计算器出现故障!
介绍 我的计算器很奇怪。有时,当我输入时8会显示2。有时,当我输入a 6时会显示+。一些按钮混在一起! 谁能帮我确定哪个? 挑战: 输入:错误方程式列表,结果正确。 输出:交换的两个按钮。 例如: 输入可以是: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 其预期的输出是:2和*。 为什么?因为如果我们交换2和*,则所有等式都是正确的: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 挑战规则: 输入可以采用任何合理的格式。可以是一个以空格分隔的字符串;字符串列表或-array; 一个包含方程式的列表和另一个包含正确结果的列表。你的来电。请说明您使用的输入格式! …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

2
将Brainf中的任意大单元归零***
您的任务是编写一段代码,将Brainfuck变体中的当前单元格清零,每个单元格可以包含任意大数值的有符号整数,而不是正常的0到255。 您可以假设当前单元格的左边有l个单元格,而右边的r个单元格最初为零。您的程序只能访问这些l + r +1个单元。代码结束后,应将l + r个额外的单元格保留为零,并将指向当前单元格的指针保留在原始位置。 您不得使用任何输入/输出。 l + r最小的代码获胜。如果有平局,则以最短的代码为准。建议还声明程序的时间复杂度以供参考,其中n是当前单元格中原始整数的绝对值。 有用的工具 您可以使用mbomb007在TIO上使用此解释器来测试此版本中的Brainfuck程序。 您还可以通过廷比在此答案中使用解释器(其他Python答案也可能有效,但我没有测试)。

1
不受限制的语言
我在此站点上最喜欢的挑战之一是受限源挑战。这些挑战给计算机带来了难以处理的限制,潜在答案的来源必须通过。我非常喜欢这些挑战,一段时间以来,我一直在研究一种旨在赢得这些挑战的高尔夫语言。现在,我想向您提出挑战。您的任务是设计一种语言来解决各种受限的源任务。您将需要设计和实现一种语言,到那时,更改和新添加的内容将不具竞争性,并且所有提交的内容将在受限源挑战的严峻挑战中齐头并进。 计分 在发布挑战之前,我将提供一个要解决的简单挑战列表和一个要遵循的源限制列表。对于挑战和来源限制的每次匹配,您的语言都可以赚取0到2分。(将有10个挑战和10个限制导致总共100种组合)A语言得分 如果可以在150字节以内的限制下完成任务,则为1分 如果该解决方案是所有语言竞赛中最短的解决方案,则为2分(如果出现并列,则两种语言均获得2分) 如果他们不能在少于150个字节的限制下创建完成该任务的程序,则为0分。 您的分数将是每次可能的比赛中赢得的所有积分的总和。目标是获得最高分。其他人可能会帮助您针对每种挑战寻找解决方案并提高得分。 发布时,我将显示每个列表的4个项目,第二个答案一周后,我将显示另外8个项目。在第一周之前揭示两部分内容的任何匹配项中,您只会获得1分(最短提交数不计)。这样一来,您就可以了解语言在处理过程中的堆叠程度,但是您不能仅仅为了应对所有挑战和限制而设计语言。 我将在问题中包含预期类别的哈希值,以便您可以确定在本周内不会为了有利于任何一方而更改它们。另外,在本周结束之前,我不会告诉任何人隐藏的参数,也不要自己参加挑战。 预先存在的语言 这项挑战对所有先前存在的语言都是开放的,但是,如果您不是该语言的作者,请将您的答案作为社区Wiki,以便我们社区的其他成员可以直接为得分做出贡献。命令行标志不需要遵守任何限制,但是每个程序都应使用相同的命令行参数运行(即,应选择一个并坚持使用)。这些不会增加您的字节数。 挑战与限制 不管您使用的是什么代码页,对二进制文件的ASCII编码都实施了限制。其中一些链接到网站上的现有问题,他们从中继承挑战的io要求和限制的来源限制。您可以忽略任何“禁止内置”或在任何相关挑战上覆盖现有的元共识。 提醒一下:不要试图统治律师;我知道这是一场比赛,但是因为本质上有100种不同的子挑战,所以我无法保证所有挑战都是完全没有问题的。只是尝试去玩。 挑战性 排序整数列表 打印 Hello, world! 确定括号是否平衡 测试原始性 限制条件 仅奇数字节(每8位必须为奇数) 双字节 字节按升序排列(每个字节大于最后一个字节) 源代码是回文 其余条件的sha512哈希为: 4de5eca33c6270798606cf1412820c4ce112d8b927ef02877f36795b2b15ffacca51ea598fa89b8d6bc9f4cde53810e0e7ade30e536e52e28f40a6a13841dfc5 -

1
计算文本中的拼写错误;尽量减少代码中的拼写错误
编写一个需要两个输入的程序或函数: 一条短信 此 Github文件中显示的英语词典(包含约60000个单词) 并输出消息中的拼写错误数(有关定义和测试用例,请参见下文)。 您可以将字典作为函数的参数,作为程序期望找到的预定义文件,以代码中的硬编码数据或任何其他明智的方式接收。 您的代码本身应该看起来像一条短信,并且拼写错误最少。因此,您将通过将代码本身作为输入输入来计算代码的分数。 获胜者是得分最低的代码(可能的最低得分为0)。如果有多个分数相同的答案,则获胜者取决于代码大小(以字符为单位)。如果仍然有两个答案,则获胜者是较早的一个。 如果需要,可以假定输入消息为ASCII码(字节32 ... 126),其中换行符以常规方式编码(1字节“ 10”或2字节“ 13 10”),并且为非空。但是,如果您的代码包含非ASCII字符,则它也应支持非ASCII输入(以便它可以计算自己的分数)。 字符分为以下几类: 字母 a ... z和A ... Z 空格(此处定义为空格字符或换行符) 标点 . , ; : ! ? 句子结束 . ! ? 垃圾(其余所有) 甲字被定义为字母序列,这是最大的(即,既不,前面和后面通过一字母)。 甲句子被定义为不属于句结束字符的最大序列。 如果字符违反任何拼写规则,则表示拼写错误: 字母必须属于词典单词(或者换句话说:没有出现在词典中的每个长度为N的单词都算作N个拼写错误) 句子中的第一个字符(忽略任何开头的空白字符)必须是大写字母 除上一条规则指定的字母外,所有字母均必须小写 标点符号只能在字母或乱码之后使用 换行符只能在句子结尾的字符之后 消息开头和之后的空格字符不允许使用空格字符 不应有垃圾(或换句话说:每个垃圾字符计数是一个拼写错误) 另外,最后一句必须为空或仅由一个换行符组成(即,消息应以句子结尾字符和可选的换行符结尾-我们称之为规则8)。 测试用例(在每个字符下面是一个违反的规则;在后面=>是必需的答案): Here is my 1st …

11
2016 Time Capsule String:Climb The Integer Ladder
使用2016年时间胶囊字符串中的74个字符 H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{% 用相同的语言编写N个代码段,其中: 第一个代码段输出1。 第二段代码输出2。 第三段输出3。 ...等等... 第N个代码段输出N(数字,而不是字母)。 “代码段”定义为以下任何一种: 一个完整的程序,无需输入即可正常输出数字。 没有必需参数的函数通常会输出/返回数字。 一个REPL表达式,其计算结果为数字。 (您可以在N个片段中混合并匹配这三个变体。) 您可以在N个摘要的组合集中使用的字符正好是时间封包的74个字符,以及 floor(N/2)可以在任何地方使用的额外“通配符”字节。 例如,时间胶囊包含3 @,因此在您的N个摘要中,最多只能存在3个@,除非您决定将一些floor(N/2)通配符字节用于附加@的。 因此,不计算通配符,您的N个摘要中的组合字符集必须是74个时间胶囊字符的子集。它们的总长度不能超过74。 您不能在片段之间重复使用时间胶囊字符或通配符字节。 笔记 代码段长度或每个代码段可以使用多少个通配符没有其他限制。 您必须写出所有从1到N的代码段。从0到N-1,不是k到N + k-1。 这些代码段必须是单独的,而不是一个输出列表的代码段1, 2, 3, ..., N。 输出可能是浮点数3.0,3而不是;如果十进制是您语言的自然底数,则可以使用十进制以外的底数。您必须对所有摘要使用相同的基础。 通配符在您的语言的编码中计为字节。这可能是ASCII,但例如,如果∞在编码中算作一个字节,则可以将其用作单个通配符字节。 您可以将通配符字节用于多字节字符。例如∞,通常为 3个字节,因此您可以在代码段中使用它,但它将花费您的floor(N/2)通配符字节中的3 个。 诸如之类的换行符\r\n可以视为一个字节。 例 在Python中,仅使用REPL就可以实现N = 4。有floor(4/2) = 2通配符。 1从时间胶囊到的表达式1。 2由一个通配符(即)组成2。到的时间2。 3还包含一个通配符。到的时间3。没有更多的通配符。 4幸运的是在时间囊中,它到了4。 这些片段简短而琐碎。真正的答案可能要复杂得多。 (在Python中可能有5个或更多的可能,但我将留给专业人士使用。) 计分 N获胜的答案;即,攀登整数梯最高的那一个。 …

18
断开4位
您的任务:给定一个输入字符串,确定该字符串的二进制表示形式在任何位置连续没有4 1s或0s。此外,您的代码本身不应包含任何这样的连续四次运行。 测试用例 String Binary Result U3 01010101 00110011 Truthy 48 00110100 00111000 Falsy Foobar 01000110 01101111 Falsy 01101111 01100010 01100001 01110010 Feeber 01000110 01100101 Truthy 01100101 01100010 01100101 01110010 $H 00100100 01001000 Truthy <Empty> - Truthy 规则 输入将始终在可打印ASCII的范围内,包括空格字符。 您的代码可以使用任何编码,因为它仅在位级别起作用。 因为这种情况会阻止使用空格和许多其他字符,所以您的代码实际上可以连续包含四个这样的运行,每次运行会损失10个字节。 5 1s或0s的运行计为两次运行,连续6计为三运行,依此类推。 输入将是字符串或char数组,而不是任何其他形式。 您可以编写完整的程序或功能。 您必须在答案中提供代码的二进制表示形式。 祝你好运,最低分获胜! 如果您使用的是UTF-8,此脚本可能会帮助您解决挑战,将代码放入输入中,它将为您提供代码的二进制表示形式,长度,罚款和总分。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 …

7
复合英语
复合词是其中包含2个或更多词的词。但是,我们可以做得更好。我们需要您创建一个包含所有单词的1(无意义)单词。 但是,我们希望这个词尽可能短。我们可以使用重叠的字母来实现此目的。 例如,如果您的单词列表为["cat", "atom", "a"],则需要返回"catom"。 输入输出 您的程序需要将单词列表作为输入,并返回复合单词作为输出。 根据Google的说法,您将使用的单词列表是英语中排名前10000的单词(如果发现这个列表太简单了,我可以将其更改为更长的单词)。作为参考,只需在每个单词后面附加一个65888的分数即可。 您的分数是您最后一个单词中的字母数,越低越好。抢领带的人去了第一张海报。

11
找出优质素数之间的最大差距
遵循诸如“ 查找最大素数”之类的问题的优良传统,该最大素数的长度,总和和积为素数,这是最大素数挑战的一种变体。 输入值 您的代码不应接受任何输入。 定义 我们说的黄金p是good,如果p-1恰好有2明显的质因数。 输出量 您的代码应输出连续的良好质数之间的绝对差q,p因此,|q-p|它应尽可能大,并且q是大于的最小良好质数p。您可以输出任意数量的好对,最后的输出将作为得分。 例 前55个素数的顺序为https://oeis.org/A067466。 得分 您的分数只是|q-p|针对您输出的一对优质素数。 语言和图书馆 您可以使用任何您喜欢的语言或库(不是针对此挑战而设计的),除了用于素数测试或分解整数的任何库函数。但是,出于计分的目的,我将在计算机上运行您的代码,因此请提供有关如何在Ubuntu上运行代码的明确说明。 我的机器时间将在我的机器上运行。这是在8GB AMD FX-8350八核处理器上的标准Ubuntu安装。这也意味着我需要能够运行您的代码。 细节 2分钟后,我将杀死您的代码,除非它在此之前开始耗尽内存。因此,应确保在切断之前输出某些内容。 您不得使用任何外部质数来源。 尽管我告诉我,好的表可以使Miller-Rabin确定性地测试多达341,550,071,728,321(甚至更高),但是您可以使用概率素数测试方法。另请参见http://miller-rabin.appspot.com/。 检查1中所有整数的最佳条目 Go中的756条猫 756由El'endia Starman用Python设计 1932年,Adnan用C#编写(使用Mono 3.2.8) 2640通过在雪人的Python(使用pypy 4.01) 2754 by Reto Koradi在C ++中 3486由Peter Taylor在Java中 RPython中 primo的3900(使用pypy 4.01) Java中的The Coder 4176 可能会跳过大量整数以找到较大差距的最佳条目 Reto Koradi编写的14226在C ++中 RPython中 primo的22596(使用pypy 4.01)。5秒后达到记录!

5
接受还是保留:计算机游戏展
内容: 一位隐居的亿万富翁创建了一个游戏节目来吸引世界上最优秀,最聪明的程序员。在星期一的午夜时分,他从一组申请人中选择一个人作为本周的竞赛者,并为他们提供游戏。您是本周的幸运选手! 本周比赛: 主机为您提供对10,000个数字信封堆栈的API访问。这些信封是随机排序的,并在其中包含1美元到10,000美元之间的美元价值(没有两个信封包含相同的美元价值)。 您可以使用3个命令: Read():读取堆栈顶部信封中的美元图形。 Take():将信封中的美元数字添加到游戏节目钱包中,然后将信封弹出堆栈。 Pass():弹出堆栈顶部的信封。 规则: 如果在信封上使用Pass(),则其中的钱将永远丢失。 从那时起,如果在包含$ X的信封上使用Take(),则永远不要在包含<$ X的信封上使用Take()。这些信封之一上的Take()将为您的钱包增加$ 0。 编写算法,以最大的金额完成游戏。 如果您正在使用Python编写解决方案,请随意使用此控制器来测试算法,这由@Maltysen提供:https://gist.github.com/Maltysen/5a4a33691cd603e9aeca 如果使用控制器,则无法访问全局变量,只能使用3个提供的API命令和局部作用域变量。(@Beta衰变) 注意:在这种情况下,“最大值”表示N> 50运行后您钱包中的中间值。我希望,尽管我很乐意被证明是错误的,但是当N增加到无穷大时,给定算法的中值将收敛。可以随意尝试最大化均值,但我有一种感觉,即平均数比中位数更容易被小N抛弃。 编辑:将信封数更改为10k,以便于处理,并使Take()更明确。 编辑2:鉴于有关meta的帖子,奖赏条件已被删除。 当前高分: PhiNotPi-$ 805,479 Reto Koradi-$ 803,960 丹尼斯-$ 770,272(修订版) Alex L.-$ 714,962(修订本)

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.