Questions tagged «quine»

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

24
加入片段的N个副本以产生N ^ 2个字符
挑战 编写尽可能短的代码段,以便将N个副本串联在一起时,输出的字符数为N 2。N将为正整数。 例如,如果代码段为soln();,则运行soln();将仅打印1个字符,运行soln();soln();将仅打印4个字符,运行soln();soln();soln();将仅打印9个字符,依此类推。 只要字符总数正确,输出中就可以包含任何字符。为了避免跨OS的混淆,\r\n换行符被视为一个字符。 程序可能无法读取其自身的源代码或读取其文件大小或使用其他此类漏洞。将此视为严格的奎因挑战。 输出可能会转到stdout或文件或类似的替代文件。没有输入。 代码中的注释很好,退出执行过程中也是如此。 程序中可能包含任何字符。以字节为单位的最短提交获胜。

17
一quin
给定一个string x,x根据源代码中出现的顺序输出字符。 例子 Source: ThisIs A Test Input: Is it a Test? Output: TissI etta? Source: Harry - yer a wizard. Input: I'm a what? Output: aa wh'?Imt Source: Mr. H. Potter, The Floor, Hut-on-the-Rock, The Sea Input: Output: 规则 适用标准漏洞和I / O规则 输入和输出可以是字符串,字符列表或字节列表。 如果在源中多次使用字符,请使用第一个字符。 如果源中未出现一个或多个字符,则应将其结尾。它们的顺序无关紧要,也不必保持一致。 来源必须为非空 换行符与其他字符一样。 代码执行的顺序无关紧要;只是原始字符串。 输入采用与代码相同的编码。 …

18
反引号
挑战的前景是: 如果您的程序正常运行,"则应打印语音标记(-双引号)中的所有代码。 如果您的程序用双引号引起来(反过来反演语音标记),则应打印通常不在引号中的代码。 例如: 假设您有以下代码: fancyStuff("myCode"); "I like".isGreat(); 如果运行它,我期望输出: myCode I like 但是,如果将其用引号引起来,则会得到: "fancyStuff("myCode"); "I like".isGreat();" 运行此代码时,预期输出为: fancyStuff( ); .isGreat(); 显然,以上示例不是任何语言的功能响应。您的工作是编写以这种方式执行的代码。 规则 有标准漏洞。 带有引号和未引号形式的打印值必须为非空,或仅由空格组成。这也意味着所有程序都必须至少包含一组引号。 但是,允许尾随/前导空格。 无需查看您自己的代码,所需的文件名等。 不允许使用不匹配的报价 如果有多个字符串,则可以将它们打印为换行符(如示例中所示),也可以以其他人类可读的方式打印-没有数组或对象 这是代码高尔夫球,因此最短答案以字节为单位。

20
Interquine-两个程序在循环中互相输出
程序A在运行时输出程序B的代码,而B输出A的源代码。 要求: 两种程序中只有一种语言 程序不同。输出自身的一个程序不符合条件。 这两个程序都是非空的,或者长度至少为1个字节。源和输出中的尾随换行符都将被忽略 stdin已关闭。不要阅读任何内容(因此您无法阅读源代码并对其进行操作)。输出进入标准输出。 编辑: stdin连接到/dev/null。如果明确说明,您可以命令将其关闭。 不要使用random功能。 额外: 如果可能,给出解释 分数是总长度。如果尾随换行不影响程序,则不算在内。
29 code-golf  quine 

16
输出源代码的图像(非完全Quine)
高尔夫代码:打印源代码的图像。 要求 必须输出源代码本身的映像,而不是输出存储在其他位置并在运行时检索到的版本。 代码必须清晰易读,以手工复制并复制结果。 任何图像格式均适用。 奖金 如果允许多个输出格式,则为分数的-10%。 如果您的代码也是 “真实”字样,则为-15%。即它不读取其源代码,但源代码已嵌入(请参见此处的示例) 如果您的代码是严格的标准,则为-30%-即代码的图像已嵌入程序中(Piet解决方案,我在找您。)

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 

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

4
变异穿山甲
这是一个代码挑战,您需要设计一个程序,像担子一样工作,或者修改自己以说明机器学习的担子。 背景 有一个叫被描述“穿山甲游戏的一个基本的人工智能程序在这里。基本思想是程序在首次运行时会询问: 好啦请想一想 是穿山甲吗? 然后,您可以答复: 是 在这种情况下,它说: 好。那太容易了。 否则,它会说: 哦。那你赢了-你在想什么? 您可能会说: 一只狗 它会说 请给我一个关于狗的问题,以便告诉我狗和穿山甲的区别 你可能会回复 它吃蚂蚁吗? 然后它会问: 狗的答案是什么? 你会说 没有 它会说 谢谢 下次运行时,它会问上面的问题,并将建立一个此类问题的二叉树。 挑战 足够的背景。这个挑战是编写一个自我修改的穿山甲程序。规则如下: 程序输出(如上所述)应为STDERR。最终的答复永远是“好。那太容易了”。或“谢谢”。此后,它应该输出程序的当前版本,或将问题合并到的程序的新版本STDOUT。没有答案写在不支持写入语言STDOUT和STDERR或阅读STDIN将是有效的。 换句话说,在UNIX下,您可以像这样调用程序: 例: $ mylanguage myprogram > myprogram.1 [dialog goes here] $ mylanguage myprogram1 > myprogram.2 [dialog goes here] 该程序必须完全使用指定的提示(因为缩短提示不显示任何技巧)。提示如下(不带引号,并用%s代替): 清单: "OK, please think …
28 code-golf  quine 

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,所以它们不形成相邻的整数的序列。 规则 任务 …

11
Anagram Quines(警察的线)
这是警察和强盗的挑战,可以在此处找到强盗的线索 您面临的挑战是编写一个程序,该程序输出其源代码的字谜,而不输出原始源代码本身。 例如以下Python程序, print`'print*2``'*2` 版画 'print*2``print*2``' 与原始来源具有相同的字符,但顺序不同。 找到这样的程序后,将其输出作为答案包括在内,而忽略生成它的程序。正如您可能已经猜到的那样,强盗会试图发现您隐藏的程序或任何符合规范的程序。您的目标是制作最强盗无法破解的程序。 规则 与大多数警察和强盗的挑战一样,如果您的答案一周都保持不变,则可以在答案中添加预期的解决方案并将其标记为“ 安全”。一旦安全,抢劫者就无法破解答案。 您不需要包括预期解决方案的语言,但是如果您不包括语言,强盗可以在挑战之前以任何一种语言破解它,而如果您指定语言,则他们只能在提供的一种语言中破解它。 适用Quines的标准规则。

2
最快的迷你手枪奎宁
迷你Flak是的一个子集脑高射炮语言,其中<>,<...>和[]操作是不允许的。严格来说,它不能与以下正则表达式匹配: .*(<|>|\[]) Mini-Flak是Brain-Flak的最小已知图灵完整子集。 不久前,我能够用Mini-Flak制作Quine,但是它太慢了,无法在宇宙的生命周期中运行。 因此,我对您的挑战是使Quine更快。 计分 要对代码评分,请在代码@cy末尾添加一个标志,然后使用该标志在Ruby解释器中运行(使用ruby解释器在线尝试)-d。您的分数应打印到STDERR,如下所示: @cy <score> 这是程序终止之前所经过的周期数,两次运行之间相同。由于每个周期的运行时间大致相同,因此您的分数应与运行程序所需的时间直接相关。 如果Quine太长而无法在计算机上合理运行,则可以手动计算周期数。 计算周期数不是很困难。循环数等于运行的单子数加运行的nilad数的2倍。这与用一个字符替换每个nilad并计算总共运行的字符数相同。 评分示例 (()()()) 得分为5,因为它有1个单子和3个尼拉德。 (()()()){({}[()])} 得分为29,因为第一部分与以前相同,得分为5,而循环包含6个单子和2个得分为8的尼拉德。循环运行3次,因此我们计算其得分为3次。 1*5 + 3*8 = 29 要求 您的程序必须... 至少2个字节 在Brain-Flak中使用-A标志执行时打印其源代码 不匹配正则表达式 .*(<|>|\[]) 提示 该起重机高射炮解释是断然比Ruby解释器快,但缺少一些功能。我建议您先使用Crane-Flak测试您的代码,然后在您知道它可以工作时在ruby解释器中对其评分。我也强烈建议不要在TIO中运行您的程序。TIO不仅比台式机解释器慢,而且还会在大约一分钟后超时。如果有人在TIO超时之前设法获得足够低的分数来运行他们的程序,那将是非常令人印象深刻的。 [(...)]{}且(...)[{}]工作与<...>但不违反受限源要求 如果您想了解如何应对这一挑战,可以查看Brain-Flak和Mini-Flak Quines。

2
口红“ quine”
任务 以单个Unicode字符作为输入。 以也符合该规范的相同语言输出程序,但不包含输入字符。 如果你的程序与输入运行一个,然后输出程序,然后用输入运行b,程序就输出被允许的包含字符一个。但是,仍然不允许b出现在该程序中。换句话说,仅禁止输入程序的最新版本。 无论标题怎么说,都适用标准的奎因规则。 最短的程序获胜。程序必须至少一个字节长。 例 如果程序是ABCD。(#是注释) > slangi "ABCD" A EBCD # "FBCD" "JGGJ" "UGDKJGDJK" are all OK > slangi "EBCD" C ABGD # "EBGD" "UIHDAIUTD" are all OK > slangi "ABGD" B AFCD > slangi "AFCD" Z ABCD slangi虚拟语言的口译员在哪里。

12
Quine /反向Quine
编写一个接受布尔或非负整数输入的完整程序。它必须: 如果输入值错误,则输出其自己的源代码 如果输入值为真,则反向输出其自己的源代码 您的程序不能是回文的,也不能以任何方式读取其自己的源代码。 这是代码高尔夫-以字节为单位的最短代码获胜。
26 code-golf  quine 

3
创建旋转的奎因
通过将字符串分成两部分并颠倒其顺序来进行字符串"world! Hello,"的旋转,例如的旋转"Hello, world!"。可以创建可以旋转以形成其他但仍然有效的程序的程序。考虑一下python中的这个示例: print ")import sys; sys.stdout.write(" 可以旋转形成 import sys; sys.stdout.write("print ") 这本身就是有效的python程序。 您面临的挑战是编写一个输出自身旋转的程序,该程序在运行时将输出原始程序。奖励指向周期长度大于2的任何条目! 这是代码高尔夫,准确的得分将是:(代码长度)/(循环长度-1)。 编辑:我们有一个赢家(除非其他人能打出4分)!我仍然非常有兴趣看到其他解决方案,无论它们是否在竞争。

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.