Questions tagged «answer-chaining»

答案链式挑战是指挑战的先前答案会影响产生新答案的方式的挑战。

30
将语言添加到多语言
这是一个答案链挑战,其中每个答案都基于前一个答案。我建议按“最旧”的顺序对线程进行排序,以确保帖子的发布顺序。 注意:这已经成为一个长期的挑战,发布新答案非常困难。这样,如果您想对潜在答案的特定部分提出建议,对可以添加的语言有想法等,现在有一个聊天室可用于应对这一挑战。如果您有任何要问或说的话,请随时加入! 任务 要提交的第n个程序必须以n种不同的语言运行;具体来说,是要提交的先前程序中添加的所有语言,以及另外一种。程序在以用于该问题答案的第一种语言运行时必须输出1,以第二种语言运行时必须输出2,依此类推。例如,第一个答案在Python 3中运行时可以显示1,第二个答案在Python 3中运行时可以输出1,而在JavaScript中运行时可以输出2。在这种情况下,第三个答案在使用Python 3时必须输出1,在JavaScript中运行时必须输出2,而在其他语言下运行时则必须输出3。 附加规则 您的程序必须在运行时不会出错或崩溃。警告(和其他stderr输出)是可以接受的,但是程序必须正常退出(例如,通过运行程序结尾或通过诸如exit执行正常程序终止的命令)。 输出必须仅是整数,但结尾的换行符可以。还允许其他不可避免的标准输出。示例:Befunge-93中的 解释程序名称和版本,Zephyr中打印字符串后的空格。某些语言提供了两种打印方法–带和不带尾部空格;在这种情况下,必须使用没有尾随空格的方法。 每个答案的长度不得超过前一个答案的20%或20个字节(以较大者为准)。(这是为了防止使用诸如Lenguage之类的语言来增加垃圾邮件的数量,并鼓励至少进行少量打高尔夫球。) 允许使用相同语言的不同版本(尽管显然它们必须打印不同的数字,所以您需要在多语言版本中放入版本检查)。但是,您可能无法使用返回语言版本号的语言功能。显然,重复完全相同的语言是不可能的(因为程序必须确定性地打印两个不同的数字之一)。 尽管在某些多语言竞赛中被禁止,但是诸如过度评论滥用之类的技巧在这里还是不错的。 您不必将先前的答案用作编写自己的指南(只要符合规范,就可以重写整个程序);但是,允许您的答案主要基于先前的答案,这可能是解决问题的最简单方法。 您不能连续提交两个答案。让其他人在两者之间发帖。该规则适用,直到满足胜利条件。 由于此挑战要求其他竞争对手以您使用的相同语言发布,因此您只能使用免费实施的语言(就像这是一场警察和强盗竞赛)。 在一种语言具有多个解释器的情况下,您可以为任何给定的语言选择任何解释器,只要要使用该语言成功运行的所有程序在该解释器中都可以。(换句话说,如果一个程序可以在多个口译员中工作,那么以后的职位可以选择其中一个口译员,而不是“锁定”特定语言翻译人员的职位。) 现在,此挑战使用了有关语言选择的新PPCG规则:即使语言比问题新,您也可以使用语言或语言解释器。但是,如果a)语言是为多语制而设计的,或者b)语言是受此问题启发的,则您不能使用比问题新的语言/解释器。(因此,新设计的实用编程语言几乎可以肯定会被接受,无关的esolangs也会被接受,但是像A Pear Tree这样的问题就被禁止了。)请注意,这不会改变所设计语言的有效性。比这个问题更古老的 请注意,胜利条件(请参阅下文)的设计是为了打破连锁关系(即,使其他人无法通过使用难以与其他语言混用的语言在您之后回答)将使您失去获胜的资格。我们的目标是继续努力,如果您想赢得胜利,就必须尊重这一点。 答案格式 由于所有答案彼此依赖,因此具有一致的答案格式将很有帮助。我建议格式化您的答案,如下所示(这是链中第二个链接的示例): 2. JavaScript,40个字节 (program goes here) 该程序在Python 3中打印1,在JavaScript中打印2。 (如果您要解释程序,多色融合技术等,请在此处放置) 胜利条件 一旦有14天没有新的答案,获胜者将是发布第二新答案的人,即被证明没有破坏链条的最大的多语种。不过,仍然很欢迎在那之后延长连锁! 获胜者是机会,请参阅答案194(TemplAt)。 语言清单 显示代码段 // This snippet is based on the snippet from hello world thread https://codegolf.stackexchange.com/questions/55422/hello-world …

30
“ Hello World!”的演变
该竞赛正式结束,获胜者是jimmy23013。恭喜你! 面临的挑战是制作一个可以打印Hello World!到标准输出的程序。值得注意的是,在您提交的答案中,您的程序与程序之间的Levenshtein距离必须为7或更小。 这将如何工作 下面,我已经使用Python提交了第一个答案:print("Hello World!")。 下一位要回答的人必须print("Hello World!")使用最多7个单字符插入,删除或替换来修改字符串,以便以迄今尚未使用的任何语言(在这种情况下仅使用Python)运行该字符串时,输出仍然是Hello World!。 例如第二回答者可以使用1个取代(r -> u),2个缺失(in),和1个插入(s),以使串puts("Hello World!")它打印Hello World!在红宝石运行时。 回答的第三人必须用一种新语言做同样的事情,但要以第二人的回答程序(例如puts("Hello World!"))为出发点。第四个答案与第三个答案有关,依此类推。 这将一直持续到所有人陷入困境,因为没有新语言时,只需更改7个字符就可以运行最后一个答案的程序。共同的目标是看我们能保持多长时间,因此,请不要进行任何晦涩或不必要的字符编辑(但这不是必需的)。 格式化 请按以下格式设置您的信息: #Answer N - [language] [code] [notes, explanation, observations, whatever] 其中N是答案编号(递增,N = 1、2、3,...)。 您不必知道更改了哪些确切字符。只要确保Levenshtein距离是0到7。 规则 了解这一挑战的关键在于,一次只能一个人回答,每个答案取决于之前的回答。 永远不会有两个答案使用相同的N。如果两个人碰巧同时回答某个N,则稍后回答的那个人(即使相差几秒钟)也应该宽容地删除他们的答案。 此外... 用户每8小时只能提交一个答案。即每个答案必须至少相隔8个小时。(这是为了防止用户不断观察问题并尽可能回答。) 用户不能连续提交两个答案。(例如,由于我提交了答案1,所以我不能回答2,但是我可以回答3。) 每个答案必须使用不同的编程语言。 同一语言的不同版本计为同一语言。 如果传统上使用两种不同的名称来称呼语言,则它们被视为不同的语言。(此处可能会有一些歧义,但不要让那毁了比赛。) 您只能使用制表符,换行符和可打印的ASCII。(换行符视为一个字符。) 输出应为Hello World!且不得包含其他字符(前导/后跟换行符不成问题)。 如果您的语言没有标准输出,请使用通常用于快速输出文本的任何内容(例如,console.log或alert在JavaScript中)。 请确保您的答案有效。我们不想意识到有五个答案会中断。无效的答案应迅速解决,或者在有其他答案之前将其删除。 除非绝对必要,否则不要编辑答案。 计分 一旦事情解决,提交最多(有效)答案的用户将获胜。领带最多的累积投票给用户。 页首横幅:(已过时) …

30
多年来的编程语言
在这一挑战中,用户将轮流使用允许逐渐变老的编程语言来完成三个相当简单的编码任务。 第一个答案必须使用2015年制作的编程语言。一旦至少有一种2015年语言的答案,答案就可以使用2014年制作的编程语言。类似地,不允许使用2013年语言的答案。直到至少有一个2014年答案。 通常,直到提交了使用Y + 1年的语言的答案后,才允许使用Y年的编程语言。唯一的例外是Y = 2015。 寻找你的语言年 要回答这个问题,您必须知道您的编程语言的“制造年份”。当然,这是一个主观术语;一些语言是在多年的发展过程中开发的,并且每年仍在升级许多语言。让“制造”该语言的年份成为该语言的实现在公众中出现的第一年。 例如,Python是1991年制造的,尽管它的开发自1989年以来一直在进行,而1.0版直到1994年才发布。 如果今年仍然是主观的,请使用常识选择最合适的年份。不要因对年份的选择而陷入一点分歧。请提供指向您的语言的来源的链接。 编程语言的不同版本或标准(例如Python 1、2、3)被视为具有相同初始年份的相同语言。 因此,除非您的语言年份是2015年,否则您只能在提交了其语言年份为您的前一年的答案后才能提交答案。 如果已经存在与您年份相同的有效答案,则可以回答。您的语言是在今年早些时候还是晚些时候开发都没有关系。 任务 您必须完成任务1到3。任务0是可选的。 这些任务或多或少地被选择为与编程的三个重要方面相对应:提供输出(任务1),循环(任务2)和递归(任务3)。 任务0-语言历史记录(可选) 至少写一个段落来说明您所选择的编程语言的历史:谁开发了它,为什么,怎么做等等。如果您本人是在语言诞生时就在身边的,甚至可能在语言的发展中发挥了作用,则尤其值得鼓励。随意将有关该语言对您或您的工作或类似事情的影响的个人轶事联系起来。 如果您太年轻而又不做大量研究就不了解您的语言历史,请考虑给老用户留下笔记,说他们可以编辑您的帖子并添加一些第一手的历史记录。 任务1-“你好,世界!” 变体 编写一个打印程序 [language name] was made in [year made]! 到您的语言的标准输出区域(最新语言的标准输出)。 例如,如果语言是Python,则输出为: Python was made in 1991! 任务2-ASCII Art N 编写一个程序,让用户在奇正整数输入(你可以假设输入始终有效),并打印出来使用字符的ASCII艺术字母N制成N。 如果输入为1,则输出为: N 如果输入为3,则输出为: N N NNN N N …

30
ASCII的95个字符…95个电影引号
更新:获胜者已经确定,但是挑战尚未结束! 终于,在问题首次提出后近三个月,有人一直是最后一个回答者一个多星期!祝贺jimmy23013的P1eq答案! 但是,仍然剩下8个字符:48KSaclw。如果有人真的有野心,他们可以继续尝试那些:D 感谢所有参加的人,尤其是那些使比赛持续了这么长时间并提供多个答案的人,特别是KennyTM,答案高达25! 另外,感谢任何使答案列表保持最新的人,它对您有很大的帮助:)(特别是自从我离开SE几个月以来:P)。 原始问题: 2005年,美国电影协会制作了AFI的100年... 100电影行情,列出了美国电影界的最佳行情。此处列出的名称与在此挑战中应使用的名称完全相同: (answer 6) 1. "Frankly, my dear, I don't give a damn." - Rhett Butler (answer 7) 2. "I'm gonna make him an offer he can't refuse." - Vito Corleone (answer 5) 3. "You don't understand! I coulda had class. I coulda been …

30
一个接一个的OEIS
作为13/03/2018 16:45 UTC的,获胜者是回答#345,由Scrooble。这意味着比赛已正式结束,但只要他们遵守规则,就可以继续发布答案。 同样,只需快速回答排名靠前的三个回答者即可: 1. NieDzejkob -41个答案 2. KSmarts -30个答案 3. 超中微子 -26个答案 这是一个答案链问题,使用的是OEIS的序列以及先前提交内容的长度。 此答案链问题将以以下方式工作: 我将发布第一个答案。所有其他解决方案必须源于此。 下一个用户(我们称它们为userA)将找到OEIS序列,其中其索引号(请参见下文)与我的代码的长度相同。 然后,他们必须使用该序列以未使用的语言编写一个程序,该程序将一个整数作为输入n,并按该序列输出第n个数字。 接下来,他们在自己的解决方案之后发布解决方案,并且新用户(userB)必须重复相同的操作。 n序列的第一个项是第一个项之后n次的项,第一个值是其OEIS页上给出的第一个值。在这个问题中,我们将对这些序列使用0索引。例如,使用A000242和n = 3,正确的结果将是25。 然而! 这不是代码问题,因此最短的代码无关紧要。但是代码的长度仍然会产生影响。为了防止序列重复,您的字节数必须唯一。这意味着此处提交的任何其他程序都不能与您的字节长度相同。 如果没有最后一个帖子的长度顺序,则帖子的顺序是未使用的最低顺序。这意味着所使用的序列也必须是唯一的,并且该序列不能与您的字节数相同。 在发布答案并且超过一个星期没有发布新答案之后,最后一个发布者(未中断链接的答案)之前的答案将获胜。 输入输出 通用输入和输出规则适用。输入必须是整数或整数的字符串表示形式,输出必须是序列中的正确值。 格式化 与大多数答案链式问题一样,请按照以下格式设置答案格式 # N. language, length, [sequence](link) `code` [next sequence](link) *anything else* 规则 发布答案后,您必须等待至少1个小时才能发布答案。 您不能连续发布两次(或更多)。 序列的索引号是A零件之后的数字,并且去除了前导零(例如,A000040索引号为40) 您可以假定输入或所需的输出都不会超出您的语言数字范围,但是请不要滥用它,例如,选择仅使用数字1的语言。 如果提交的长度超过65536个字符,请提供一个链接,以访问代码(例如,pastebin)。 n 绝对不会大于1000,也不会超出序列的范围,只是为了防止准确性差异阻止语言竞争。 每有150个(有效)答案,使用一种语言的次数就会增加。因此,在发布150个解决方案之后,每种语言都可以使用两次(所有以前的答案都计入其中)。例如,发布150个答案后,Python 3可以使用两次,但是由于它已经被使用过一次,这意味着它只能再使用一次,直到发布了300个答案。 …

30
OEIS的演变
在此挑战中,目标是一次重新创建一个整数序列在线百科全书。与《 Hello World的进化》相似,每个答案都取决于先前的答案。 随着时间的推移,这一挑战将创造出OEIS序列的“家族树”。添加到此树很简单。 查找先前的答案,该答案可以在树的任何深度N处。 确定该答案序列生成的前N个数字。 在OEIS中找到一个序列,该序列以相同的数字开头并且之前从未使用过。 编写一个程序以生成刚刚发现的这个新序列。 将答案提交为深度N + 1 由于答案的级别会影响评分,因此您应该始终将答案添加到树上尽可能深的级别。如果您无法在树上的任何位置放置答案,则可以开始树的新分支并将答案设为深度1。 答案要求 有几种输出序列的方法。 第一种选择是编写一个程序或函数,该程序或函数输入一个数字(从STDIN或作为参数)并按您选择的顺序返回第N个数字。您可以假定将为N定义序列,并且N和S_N的大小“合理”(因此不会引起溢出)。您也可以使用任何合理的索引,例如0索引,1索引或序列的OEIS页面上“偏移量”下列出的索引,都没有关系。第一个索引产生的术语必须与OEIS条目的第一个术语匹配。 第二种选择是编写一个程序或函数,该程序或函数输入一个数字并返回序列的前N个项。输出的第一项必须是OEIS条目的第一项(您不能忽略前几项)。连续术语必须由任意的非数字字符字符串分隔,因此0,1 1.2/3,5;8,11可以,但011235811不计算在内。 第三个选项是创建一个输出连续数字流的程序。与第二个选项类似,连续项之间必须有定界符。 您的答案应包含这样的标头,以帮助Stack Snippet解析: # [language], [number] bytes, depth [number], A[new sequence] from A[old sequence] 您的答案应包含生成序列的代码以及任何后代必须包含的前几个术语。这几个术语之前terms:应加上确切的词,以便控制器可以将它们用作树形图的一部分。还建议您对选择的顺序进行描述。 如果您的帖子是深度1答案,因此没有祖先,则只需from A[number]在标题中省略即可。 这是一个示例答案: # Perl, 26 bytes, depth 3, A026305 from A084912 various code here and here The …

30
追加字符串长度
挑战: 给定s字符a- z,A- Z,0- 上的字符串9,将其长度附加s到其自身,将长度中的其他字符计为的总长度s。 输入: 只是任意长度的字符串(可以为空)。 输出: 相同的字符串,但其长度附加到末尾。代表长度的字符也应算作长度的一部分。如果要附加多个有效长度,请选择最小的长度(有关示例,请参见测试用例)。 测试用例: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

30
它是领先还是跟随?
在此挑战中,您将编写一个程序或函数,该程序或函数将字符串作为输入并输出两个可能值之一。我们将这些价值之一称为真实,将其称为虚假。他们实际上并不需要诚实或虚假。为了使答案有效,它必须满足四个附加条件 当您将程序传递给自身时,它将输出真实值。 如果将程序作为输入传递给任何较旧的答案,则应输出(传递给的程序的)真实输出。 如果将任何较旧的答案作为输入传递给它,则应输出(程序的)虚假输出。 在挑战的所有答案(包括您的新答案)中,必须有无限数量的字符串评估为真实输出。 这样做会慢慢建立一个答案链,每个答案都可以确定该链中的其他程序是在其之前还是之后。 这项挑战的目的是要建立一系列源限制,这些源限制将应用于后续答案,从而使每个答案都比上一个更具挑战性。 例 一条链(用Haskell编写)可以开始: f _ = True 由于没有较旧的程序,因此条件不适用于该答案,它仅需要输出两个可能值之一,在这种情况下,它始终输出True。 以下可能是答案: f x=or$zipWith(==)x$tail x 在线尝试! 它断言字符串中某处连续两次出现一个字符。第一个答案没有此属性,而第二个答案则具有(==)。因此,这是一个有效的下一个答案。 特殊规定 您可以随意使用任意一种语言(具有免费的实现)。 如果您是最后一个回答的人,则必须等待至少7天才能发布新答案。 您的程序可能无法读取其自身的源代码。 由于第四规则很难验证是否涉及密码功能,因此不允许使用此类功能。 评分标准 每次添加答案时,您得到的分数与其在链中的位置一样多。例如,第5个答案将使作家获得5分。目标是获得尽可能多的积分。最后一个答案的答题者得分为-∞分。如果您尝试最大化自己的得分而不是“赢得”挑战,这可能会更有趣。我不会接受答案。 由于这是答案链,因此您可能要按最旧的排序

30
另一种Meta Regex高尔夫
注意: 遵循大众需求,我稍微放松了规则: 正则表达式的最大大小每5个答案增加1个字节。答案N最多可以使用29 +⌈N/5⌉字节。 每个答案的分数为(M /(30 + N / 5))N 在regex高尔夫中,您会得到两组字符串,并被要求创建最短的regex,该regex与第一组中的所有字符串匹配,但对第二组中的所有字符串都失败。 那就是我们要做的,但是每次有人回答时,他们的正则表达式本身都会被添加到两组字符串之一(由他们自己选择)中。因此,在这个挑战中有严格的答案顺序。 让我们来看一个例子: 说我以abc(我不会)开始,然后将其放在比赛组合中。 然后一个有效的第二个答案将是a,因为它与上述匹配(并且还没有需要失败的字符串)。说这个答案进入失败集。 现在,第三个答案必须匹配,abc但失败了a。因此,可能的第三个答案是b。让我们将其放入匹配集中。 第四答案现在有匹配abc和b,但未能上a。我们将不允许重复的答案,因此有效的正则表达式为c|b。 重要的是您的答案应尽可能简短。对于前几个答案来说,这可能是微不足道的,但是一旦我们得到了几个答案,就应该越来越难以尽可能少的字符来获得所需的匹配。 对于实际的挑战,匹配集最初包含PPCG,失败集包含[PPCG],我已经提供了第一个答案。 接听 了解这一挑战的关键在于,一次只能一个人回答,每个答案取决于之前的回答。 决不应该有两个相同的答案N。如果两个人碰巧同时回答N了一个问题,则稍后回答的人(即使相差几秒钟)也应该宽容地删除他们的答案。 为了使此过程更流畅,请在发布答案时尝试遵循以下步骤: 确保有人独立验证了先前答案的正确性(并留下了相应的评论)。 取上一个答案中找到的两个测试集,并编写一个正则表达式,它匹配一组中的所有字符串,而另一组中的所有字符串都不匹配。 以以下格式发布答案: # N. [regex flavour] - [regex size in bytes] [regex] [link to online regex tester] [notes, explanation, observations, whatever] ### The next answer has …

17
重叠多面体
与许多C&R挑战不同,这不需要单独的强盗岗位。强盗的目标是破解先前的答案,然后发布新的答案作为警察。 作为回答者,您将编写一系列看起来像这样的多语种(每列都是一种语言,并且每个条目都是该语言的答案的输出): Language: 1 2 3 4 5 6 7 8 ... Answer 1: 0 1 2 Answer 2: 1 2 3 Answer 3: 2 3 4 Answer 4: 3 4 5 Answer 5: 4 5 6 Answer 6: 5 6 7 ... (空格表示在这种情况下不需要任何行为)。 每个答案应在3种语言的工作和打印3个不同的连续的数字,它们分别一个超过由先前答案打印的数字(第一个答案打印0,1和2)。每个答案都使用先前提交的两种语言和第三种新语言。答题者应尝试混淆这种第三语言是什么。 要发布新答案,您应该: 通过找到第三语言来破解最新的答案。 最好为您的裂缝添加说明,并将答案通知发布者。提交文件被破解后,最好也添加一个解释。 编写由该答案的第二和第三种语言以及您选择的另一种语言组成的多语种。显示您的前两种语言,但不要显示您的新语言。找到该语言(或它使用的任何其他语言)将是下一个发布者的目标,因此您应该尝试对其进行混淆。 技术指标 …

30
让我们进行单词搜索!
在这一挑战中,我们将共同创建一个单词搜索,其中包含许多使用不同语言的程序。 我以60 x 25的空格(·)网格开始,其中一些被Ruby程序的字符替代。 要回答,请选择一种尚未使用的语言。使用您选择的语言,编写一个程序,该程序将从控制台读取字符,标记,行或所有输入,然后进行打印。然后,将您的程序插入单词搜索中。 例如,假设您选择Python 3作为答案,然后编写程序print(input())。现在,您必须将该程序插入到网格中。 如果答案前的网格如下所示: ···a·24·········· ··z····t········· 然后,您可以将程序放在第二行,与现有代码重叠t: ···a·24·········· ··zprint(input()) 请注意,您可以沿任何方向放置程序:向前,向后,向上,向下或对角线,只要它在一条直线上即可。 但是,如果现有网格看起来像这样: ···a·24·········· ··z····q········· print(input())在不更改现有字符的情况下,无法适应此处,这是禁止的。相反,您可以更改程序: print( input()) 这个两行程序非常适合: ···a·24·print(··· ··z····q input()) 在这里,您将空格(·)替换为空格()。但是,空格与其他任何字符一样,并且不能在以后的程序中覆盖。 就像单线一样,多行程序可以在任何方向放置。例如,在较大的网格中,可以通过顺时针旋转程序135°来执行以下操作。 ·········· ········ · ·······i·p ······n·r· ·····p·i·· ····u·n··· ···t·t···· ··(·(····· ·)········ )········· 计分 每个答案的分数是30除以添加的字符数。即使您自己使用它们,也不要计算网格中已经存在的字符。 您的总分数是所有答案的分数总和乘以答案数量。最高分获胜。 规则 每个答案必须用不同的语言编写。仅版本号不同的语言(例如,Python 2和Python 3)被认为是相同的。 每个答案都必须以最近的有效答案为基础。也就是说,以最新的此类答案的网格为例,然后将程序插入其中。 要插入程序,请使用·您选择的字符替换至少一个空格()。您可以在答案中使用网格中的现有字符,但不能更改或移动它们中的任何一个。 在所有答案中,您总共不能插入500个字符以上。 您插入的所有字符都必须是程序的一部分。 您的程序可能只包含可打印的ASCII和换行符,但可能没有两个或多个连续的背对背连续换行符。 换行符不会计入您的分数。 …

30
两种力量的演变
这是最初由用户Helka Homba撰写的《 Hello World!》演变的转贴。 由于此处存在元共识,因此不应将其作为重复项关闭。 最初是在两年前被问到的,最后一次活跃在六个月前。我有权从赫尔卡Homba张贴此位置 自原始版本以来,已经发明了许多语言,并且许多人加入了该站点,却再也没有机会回答原始版本,因此我认为这种重新发布是可以接受的。 面临的挑战是制作一个可以输出2^n到stdout 的程序,程序n的编号在哪里。值得注意的是,在您提交的答案中,您的程序与程序之间的Levenshtein距离必须为10或更小。 这将如何工作 下面,我将使用C#提交第一个答案,该答案将显示2 ^(n = 1)= 2。 下一位要回答的人必须使用最多10个单字符插入,删除或替换来修改代码,以便当以新答案的语言运行该代码时,它会打印2^n(带有n答案编号)。例如,第25个答案(假设它在Pyth中)将显示2 ^ 25或33554432。 这将一直持续到所有人陷入困境,因为没有新语言时,只需更改10个字符就可以运行最后一个答案的程序。共同的目标是看我们能保持多长时间,所以请不要进行任何晦涩或不必要的字符编辑(但这不是必需的)。 格式化 请按以下格式设置您的信息: #Answer N - [language] [code] [notes, explanation, observations, whatever] 其中N是答案编号(递增,N = 1、2、3,...)。 您不必知道更改了哪些确切字符。只要确保Levenshtein距离是0到10。 如果您使用某种语言回答,或者得到的代码只是一团糟,请说明您做了什么以及为什么起作用,尽管这不是必需的。 规则 了解这一挑战的关键在于,一次只能一个人回答,每个答案取决于之前的回答。 永远不会有两个答案使用相同的N。如果两个人碰巧同时回答某个N,则稍后回答的那个人(即使相差几秒钟)也应该大方删除他们的答案。 此外... 用户不能连续提交两个答案。(例如,由于我提交了答案1,所以我不能回答2,但是我可以回答3。) 尽量避免在短时间内发布过多答案。 每个答案必须使用不同的编程语言。 您可以使用语言的不同主要版本,例如Python 2/3 如果传统上使用两种不同的名称来称呼语言,则它们被视为不同的语言。(此处可能会有一些歧义,但不要让那毁了比赛。) 您不必坚持使用ASCII,可以使用所需的任何字符。Levenshtein距离将以unicode 字符进行度量。 输出应为2^n,不得为其他字符。(引导/尾随空格很好,如>>>或不可抑制的输出也可以ans=) 如果您的语言没有标准输出,请使用通常用于快速输出文本的任何内容(例如,console.log或alert在JavaScript中)。 当必须输出的2的幂变大时,您可能会假定内存无限,但不是整数大小。请注意整数溢出。 …

26
你知道那种语言吗?
任务: 您面临的挑战是,鉴于先前提交的内容及其本身作为输入,以以下格式输出使用其编写的语言: 假设第一个程序在Ruby中。它必须输出1,因为Ruby是1此挑战中使用的主要语言。一个示例程序是: a=gets puts 1 当自身作为输入时,它返回1。 下一个程序可能在Python中。它必须输出2,因为Python是2挑战中使用的第二种语言。一个示例程序是: print(1 if input()[0]=="a"else 2) 给定第一个提交,它输出1,给定它自己,它输出2。 您可以重复语言,但不能以上一个答案的语言提交答案。 例如,如果第三个程序是Ruby,则必须在1给定第一个程序及其本身的情况下输出(因为Ruby是所1使用的st语言),而在给定第二个程序时必须输出2。 规则: 如果n挑战中当前有答案,那么至少必须使用floor(n / 3)不同的语言。任何违反此规则的提交都将被取消参赛资格。 没有两个“相邻答案”(例如answer n和answer n+1)不能使用相同的语言。 语言的不同版本不算作其他语言(so Python 2 == Python 3)。 答案必须以先前提交的全部内容作为输入。 第一个提交必须接受输入。 您不允许连续提交多个答案。 不允许使用“重复答案”(答案与以前提交的代码完全相同)。 答案不允许超过该答案的已分配字节数-有关更多详细信息,请参见“已分配字节数”。 分配的字节数: 对于每个答案号n,为该答案分配的字节数为45 + 5n。 答案格式: 格式化您的答案,如下所示: # {answer no.}, {language} {program} This prints: - `1` in answer(s) …

3
和我一起打高尔夫
许多PPCG用户在聊天和Sandbox中都帮助创建了这一挑战,特别是Martin Ender,AdmBorkBork,Emigna和user202729 我们的社区发现有必要创建一组专门为高尔夫设计的语言,即我们所说的“高尔夫语言”。这样的语言已经从曾经辉煌的现在笨拙的GolfScript演变为光滑的简洁语言,例如Jelly和Husk。正如我们所看到的,对于一系列任务,这些语言正越来越短。因此,作为围绕高尔夫语言的显而易见的专家,我们应该一起设计一种语言,以击败其他敢于竞争的语言。介绍号角! 喇叭:从缩写BuGoL:卜 ILT 去 lfing 大号 anguage。 这项挑战将如何运作 如果您在介绍中没有得到我所提到的内容,那么这个挑战就是答案链挑战,我们每个人都为一种新型高尔夫语言的口译员提供一些帮助,从而提高了每个答案在PPCG上的竞争能力。 我将发布第一个答案,该答案由语言规范/解释器的基础组成,所有其他答案将继续。新提交的内容将提供以下内容: 语言规范的变更 最新的口译员,准确满足变更中的要求 语言的更新分数(稍后会详细介绍) 您可以通过以下三种方式之一更改规格: 您可以添加一个命令 您可以添加两个新命令 您可以编辑一个现有命令的行为 关于新解释器,您必须使用以Python编写的最新版本。它不必打高尔夫球。每个先前添加的命令必须可以使用最新的解释器以及最新的命令(您添加的命令)进行测试。更新解释器时,您也不得在任何时候使用冒犯性语言,例如注释或字符串文字等。 添加的命令可以执行您希望执行的任何操作。唯一的要求是: 它不会产生令人反感的结果 与另一个命令不同 它不会阻止示例挑战之一的完成 除了这些,它可以根据您的需要特定或通用。也可以是您想要的任何字符。如果不确定添加的内容是否构成“新命令”,请随时在评论中提问。 语言的分数 您可能已经注意到,必须在所有新提交的内容中包括该语言的分数。它的分数是阻止该挑战永远持续的原因,其定义如下: 当前分数是语言完成以下20个任务所需的字节数之和 对于每个任务,标准I / O规则都适用,标准漏洞也是如此。 20个任务: “你好,世界!” –输出字符串Hello, World! 1,2,Fizz,4,Buzz –在单独的行上输出1到100(含)之间的每个整数,其中3的倍数被替换Fizz,5的倍数被替换Buzz,两者的倍数被替换FizzBuzz 在源代码中没有任何数字的情况下生成数字2014 –在不使用源代码中任何字符的情况下输出数字20140123456789,而无需访问外部变量或随机种子 混淆后的Hello World -输出字符串Hello, World!,而无需使用任何在至少以下两个组的字符:hlwd,eor01和27(不区分大小写) 用您喜欢的编程语言唱生日快乐 –用您选择的语言输出以下内容: Happy Birthday to You Happy …

30
打印上一个答案!
这是一个答案链挑战,其中每个答案都基于前一个答案。不输入任何内容,您将向该线程输出最新提交。 我强烈建议按最旧的排序,然后跳到最后一页以找到最新的答案。 计分 优胜者将根据分数系统进行选择。 每个用户的每个有效提交都获得1分。 但这是有趣的部分: 如果您提交的内容(以字节为单位)比上一个答案(您的输出)短(以字节为单位),那么您的提交分数将乘以字节差。 话虽如此,您的答案不必短于上一个。 获胜者是拥有最高总积分的用户,并且将在此线程上闲置2周后被选中。 规则 每个新答案必须使用唯一语言,请在发布答案之前检查以下列表。 如果您刚刚发布,则必须至少等待1个小时才能提交新答案。 您可能不能连续提交两个答案,您必须等待另外两个提交,然后才能发布新答案。 当然,不允许出现标准漏洞 语言的不同版本(例如Python 1,Python 2和Python 3)被视为不同的语言。 输出到标准输出或您的语言输出文本的标准 您的代码不得产生任何错误 检查以确保在您编写自己的答案时没有人提交答案,如果是,请调整并重新提交您的代码。 请确保您的答案有效 您的输出将是前一个答案,并且仅是前一个答案。允许空格和换行符,条件是输出仍按以前的语言运行。 请检查您的输出以确保其正确运行。 笔记 我想鼓励您使用深奥的语言来使事情变得有趣 我也想鼓励添加TIO链接,以简化测试和验证。 开工 我将通过发布一个非常简单的Python 1脚本开始这一挑战: print 1 下一次提交应完全打印此代码。 格式化 请按以下格式设置您的信息: Answer Number - (language) [code] (preferably a TIO link) [Submission Score] [notes, explanations, whatever you …

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.