Questions tagged «quine»

quine是一个程序,它产生其源作为输出。该标签表明挑战与奎因有关。

7
高尔夫球场装配线
注意:此挑战与实际的汇编语言无关。 作为Code-Golf Factory Inc.的负责人,您必须创建一条装配线以生成特定的代码段。今天,领班要您制作藜。 规格: 在此挑战中,目标是编写一个包装盒,使其适当的部分也成为包装盒。 这是代码高尔夫球,因此赢得了(主程序的)最少字节。禁止使用标准漏洞,并且主程序和小节都必须是真实的quines。 该小节必须比主程序至少短2个字符,这意味着最小分数为3个字节。 您只需选择一个子部分即可工作。

1
创建类似Muriel的语言和实现
Muriel是一门唯一循环的语言,它是创建并执行木盒。您的工作是使用此属性创建您自己的语言,并使用预先存在的语言来实现它。 我们将定义类似Muriel的语言,如下所示: 它有一个内置命令,可以用自己的语言执行代码,类似于Muriel的@命令或python的命令exec。 图灵完成了。 如果删除内置执行命令,则该命令不再是图灵完成的。 Muriel具有类似Muriel的@内置执行命令。蓝精灵也像Muriel一样(其内置执行命令是x)。Python 不像 Muriel那样,因为如果删除,它仍然是Turing完整的exec。 您的工作是创建类似于Muriel的编程语言,然后以您选择的语言提供其实现。您的分数就是实施的长度,您要尽量减少该长度。 笔记: 您的内置执行不需要像Muriel那样完全起作用。取决于您如何处理子程序的终止,错误,作用域等。 您编写的实现的语言本身不能像Muriel那样。(这是@无效的条目。)它也必须在此帖子之前存在。

6
向前和向后的杂色藜!
你必须做的是在输出一种语言的源代码和它的源代码中的多语种落后于另一个。与正常规则不同,您可以阅读当前文件或使用内置文件来获取提交的源代码并以一种语言反转该源代码。您的源代码不能是回文。 例如,如果您的源代码是abcxyz,则它必须abcxyz以一种语言和zyxcba另一种语言输出。如果您的代码是abcxyzyxbca,则无效,因为它是回文。 祝好运!

2
双向Quine链
PPCG还没有足够的藜... 挑战: 您的任务是创建一个程序“ A0”。当该程序在没有输入的情况下运行时,它什么也不输出。用输入运行该程序时,输出“ A1”。无输入运行“ A1”时,输出“ A0”。通过输入运行“ A1”时,输出“ A2”。几乎没有输入时,“ A(k)”将输出“ A(k-1)”,有输入时,将输出“ A(k + 1)”。 细节 我相信这个挑战很简单;真的没有其他规则。顺便说一句,每个程序必须至少包含1个字节。您可以假设输入将仅包含ASCII字符,并且可以根据需要忽略空格,但是您可以不指定特定的输入。输出可能会输出到STDOUT或STDERR,但是所有程序都必须输出到同一程序。另一个可能还包含文本(因此您可以输出到STDOUT,然后退出并出现错误)。感谢@Dennis指出这一点。 所有程序都必须使用相同的语言,并且每个程序都必须与其他程序唯一。 得分等于程序“ A0”的长度。由于这是代码高尔夫挑战赛,因此最低分获胜!

4
排队,但带有Windows文件!
编写一个quine,该quine在运行时会在当前目录中创建一个名为自身的源文件。我们将在其中使用Windows,因此文件名(并因此是quine)必须具有以下限制: 这些字符都不是 \ / : ? * < > | 少于211255个字符 局限性和假设 您的代码必须是完整的程序(毕竟将要运行)。 不能从源文件复制。 您可以假设没有另一个以Quine为名称的文件(因为它将产生Quine(1))。 错误是允许的(只要它们不进入源代码即可) 这是 代码高尔夫球,以字节为单位的最短代码胜出! 编辑 也许我不清楚,但带有quine名称的文件实际上必须包含该quine。我的错。

2
错误(或警告)信号线也是常规信号线[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 3年前关闭。 (受到对一个老问题的评论的启发。) 背景 一个错误喹(也称为“Kimian喹”)是一种程序,该程序编译或运行时,使编译器/解释器/运行时进行打印,其具有相同的文本到程序本身,而不是其他的错误消息。出于此挑战的目的,我们在广义上定义“错误”,也包括警告。 任务 在这项挑战中,我们正在寻找 奎因这也是一个错误提示。执行时,程序必须正常打印自己的源代码(即,不作为错误/警告消息);这必须是适当的quine(即程序的某些部分必须对输出的不同部分进行编码)。此外,编译和执行程序还必须使实现将程序的源代码(而不是其他任何内容)打印为错误或警告消息。(请注意,这意味着您将无法使用会阻止程序正常执行的语言使用编译时错误。)换句话说,该程序的源代码将被打印两次,每种方法一次。 澄清说明 在大多数情况下,很明显什么是错误不是警告消息。我们在这里不区分两者。在模棱两可的情况下,将错误/警告消息定义为实现所输出的任何文本,或者:1.由于执行命令以外的其他原因(或与该语言最接近的等效内容);或2.这不是将其作为输出生成的命令的输入的一部分。 信息框的错误/警告部分不必是适当的信息框(尽管在大多数情况下,这是偶然的,因为大多数错误和警告消息都包含大量固定文本)。 程序输出多个错误/警告是可以接受的,这些错误/警告在串联在一起时构成程序的源。输出未出现在源代码中的错误/警告是不可接受的。 与许多挑战不同,在此挑战中,赋予编译器的开关和程序文件名可能非常相关。鉴于可能无法通过其他方式解决挑战,因此我愿意在这里保持灵活性,尽管如果您以不寻常的方式运行实现,请记住PPCG规则为此收取了字节罚款(等于您需要以最短的“正常”方式在命令行上添加运行程序的权限),因此,您需要在帖子中指定罚款的大小。(例如,如果您使用的解释器从文件中读取程序,并且对文件名没有特别限制,则运行程序的最短的常规方法是从文件名中包含1个字符的文件;因此, 您使用的编译器/解释器版本可能是相关的,因此,作为提交的一部分,请说明程序可在其上工作以及需要哪个版本的特定编译器或解释器。(例如,C提交的标题中可能显示“ C(gcc 6.2.0)”。) 请注意,并非所有语言都可以完成此任务。在目前使用的语言中,最简单的方法可能是找到错误或警告消息,可以为其自定义文本的某些子集(通过更改消息中引用的内容的名称;文件名是常见的选择)在这里,但不是唯一的)。如果有人发现只使用固定文本的错误和警告消息来做到这一点,我会特别感动(并感到惊讶)。 胜利条件 这是一个 代码高尔夫球挑战,因此,如果条目的字节数较小,则认为该条目更好。这样一来,一旦您的程序完全可以运行,您就希望对其进行优化以尽可能减少字节数。(但是,如果已经有一个较短的条目,尤其是使用另一种语言,请不要气;;我们真正要寻找的是尽可能地缩短程序背后的特定算法或想法,但要看到多个使用不同语言或依赖不同原理的解决方案总是值得的。)

2
一百个最常用的单词
之所以写这个问题,是因为“ Thing Explainer”很有趣,并且给了我一个主意。 编写“使计算机做事的东西”,以读取/获取一组字母,数字和类似的东西"#%|?,True / 1如果所有单词都属于该集合,则返回。 如果所有单词都不属于该集合,请返回不属于该集合的单词。 在任何情况下都可以认为本网站是正确的。编写规则是为了遵守该站点上的规范。 例子: Truthy: 如果将第一条水平线上方的整个文本粘贴为输入,则代码应返回真实值。 以下几行应返回真实值(输入之间用分隔###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 虚假的: 在以下示例中,输入和输出用分隔***。不同的测试用例用分隔###。 This code …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

1
组合喹
背景 您刚刚了解了组合逻辑是什么。对各种组合器感兴趣的是,您花费了大量时间来学习它们。您最终偶然发现了这个特定的表达式: (S I I (S I I)) 您会注意到,在尝试将其简化为正常形式时,经过三个步骤,它会还原为自身: (S I I (S I I)) = (I (S I I) (I (S I I))) (1) = (S I I (I (S I I))) (2) = (S I I (S I I)) (3) 您决心找到具有该特征的其他表达方式,并立即开始对此进行操作。 规则 您可以使用以下组合器的任意组合: B f g x = …

5
第2洞-Prime Quine
在此处找到孔1 。 创建一个运行时输出多次自己的源代码块的工具。实际上,它必须输出n次,其中n是下一个质数。 我认为一个例子最能说明问题。 [MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] 每个程序将在下一个质数输出其基本“块”(即[MY QUINE])。 不允许使用内置函数来计算数字是否为质数(如isPrime函数)或确定下一个质数(如nextPrime()函数)。 这意味着不允许列出除数的函数 同样禁止返回素数分解的函数 这应该是一个真实的信息(除了一些余地,请参阅下一点),因此您不应阅读自己的源代码。 由于Java和C#等语言已经处于不利地位,因此您无需输出完全有效的代码。如果可以将其放在一个函数中(即被调用)并输出下一个Quine,那么您就很好。 这是代码高尔夫球,所以最短的代码胜出!
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.