Questions tagged «quine»

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

1
防旋转安全绳
编写一个适当的quine,其每个旋转本身就是一个适当的quine。 例如,如果您的源代码是abcdef,则: abcdef 将输出 abcdef bcdefa 将输出 bcdefa cdefab 将输出 cdefab defabc 将输出 defabc efabcd 将输出 efabcd fabcde 将输出 fabcde 旋转“是通过将字符串分成两部分并颠倒其顺序来进行的”。 计分 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

5
报价安全的五线组
您的任务很简单:编写一个无需输入即可输出(或返回)其源代码的程序(或函数)。要注意的是,当将程序包装为"quotes"(Unicode字符34)时,它应该再次输出其(现在已引用)源代码。 奎因的标准规则适用。这是代码高尔夫球,因此最短的程序(以字节为单位)获胜。

7
做一个交织的奎因
您的任务是创建一个程序,该程序在运行时将自身作为输出返回(这被称为quine)。但是,此quine必须在被复制n次数时返回该quine,但是其每个字符都必须重复放置n时间,其中n是一个正整数。 如果您的原始程序是Derp: Derp -> Derp (must return itself as output to be a quine) DerpDerp -> DDeerrpp (the "Derp" is copied twice, so each character in the output has to be copied twice) DerpDerpDerp -> DDDeeerrrppp etc. etc. 请记住,您可以在“基本”程序中使用空格,但是在“交织”时将其计为空格。说你的程序是 Derp {newline} (换行符表示末尾的换行符,并且后面有多余的空格Derp)。当复制成为 Derp Derp {newline} 您必须输出 DDeerrpp {newline} {newline} 请记住,。2之后还有多余的空格DDeerrpp。 …

9
马尔可夫链奎因
这个问题将使用一个简单的马尔可夫模型。有关马尔可夫链的更多信息,请参见http://setosa.io/ev/markov-chains/。 拿一根绳子。在此示例中,我们将使用以下单词: reader 现在,对于每个字符,取字符串中每次出现该字符后出现的字符。(​`^`​代表字符串的开始并​`$`​代表结束) `^` -> {'r'} # After the start of the string, there is an `r`. 'r' -> {'e', `$`} # After the first `r` (*r*eader), there is an `e` # after the second (reade*r*), there is the end of the string. 'e' -> {'a', 'r'} 'a' -> …

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

12
沙米尔的秘密分享
给定n(玩家数量),t(阈值)和s(秘密),输出n由Shamir的秘密共享算法生成的秘密。 算法 出于这一挑战的目的,将在GF(251)(size的有限域251,也称为整数mod 251)中进行计算。通常,将选择该字段,使其大小比的素数大得多n。为了简化挑战,字段大小将保持不变。251选择它是因为它是8位无符号整数可以表示的最大质数。 生成t-1(包括)范围内的随机整数[0, 250]。标明这些一个1通过一个T-1 。 构造一个t-1使用次多项式s为恒定值,并从步骤1中的功率的系数的随机整数x:F(X)= S + X *一个1 + X 2 * A 2 + ... + X 叔1 * a t-1。 (含)范围内(f(z) mod 251)每个输出。z[1, n] 参考实施 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input is taken …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

10
压缩图像中的代码
这是奎因变化。 介绍 我们都编写了短代码,因为一些晦涩的原因,但是无论我们做什么,都会占用至少144像素/字节(使用12px字体)。但是,如果我们将图像编码为图像,将会发生什么?这是您今天的任务。 挑战 您的任务是读取自己的源代码(允许使用非正确的quines,例如,从字面上读取源文件),并通过基于ASCII设置像素的红色,绿色和蓝色分量来从中创建图像角色的价值。 例: 我们有字符串“ Hello world!”。 Hello world! 让我们将其转换为ASCII值: 72 101 108 108 111 32 119 111 114 108 100 33 将RGB值映射到它(如果源代码的长度不能被3整除,请使用0s作为剩余字符): __________________________________________________ | R | G | B || R | G | B || R | G | B || R | G | B …

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

3
写一个三阶奎因
这项挑战是“ 高尔夫互惠 ” 的延伸。 使用您选择的三种语言,创建一个三阶Ouroboros程序。 也就是说,用语言A编写程序pA,该程序以语言B输出程序pB。程序pB应该以语言C输出程序pC,该程序又以语言A输出原始程序pA。 A,B和C中的两种语言都不能相同,也不能互为子集或超集。pA,pB或pC可能都不相同。 例如,Haskell程序输出一个Perl程序,该Perl程序输出一个Java程序,该Java程序输出原始的Haskell程序将是有效的。 另一方面,输出C#3程序和C#2程序的C#4程序无效。如果说Perl程序和Ruby程序相同,那么即使是Perl-> Ruby-> Bash组合也将无效。 这是代码高尔夫,所以最短的程序pA获胜。
17 code-golf  quine 

1
正则表达式验证正则表达式[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 构建一个将接受正则表达式字符串作为输入的正则表达式,并检查其是否有效。基本上,您的正则表达式应该能够验证自己。(任何无效的正则表达式都不应进行验证,因此您不能使用.*。;)) 您的风味必须得到众所周知的实现(Perl,sed,grep,gawk等)的完全支持,并且必须完全支持那些实现所支持的功能。[不用担心律师说话;我只是想消除所有可能导致智能***的漏洞。] 我会对此进行编码,但是我担心它会给那些知道和使用非功能丰富的风味的人带来优势。还是我的担心没有根据?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

7
写出最长周期为500字节的迭代奎因
您的工作是创建最长周期的迭代quine,其中序列中每个程序的长度以500字节为界。 也就是说,如果重复以下步骤: 从您的初始程序开始 运行当前程序 返回步骤2 您最终将回到原始程序。循环中的程序数量就是您的分数,您正尝试将其最大化。 这些程序都不会引发任何错误。每个程序也必须以相同的方式运行(例如,没有不同的版本,实现,编译器选项,平台等)(编辑:是的,最后一个包括任何外部状态,例如伪随机数生成器的外部状态)语句。每次运行后都必须“重置”外部状态。如果您使用的是真正的随机数,则以最坏的情况为准。) 将此挑战与最长周期的迭代方法(除了100与500)不同的是,循环中的每个程序也必须等于或小于500字节。这意味着最长的周期为(256 ^ 501-1)/ 255或更小。当然,这是一个很大的数字,但是就计算所需的代码量而言,并不是那么大。因此,挑战是要尽可能多地使用(256 ^ 501-1)/ 255个可能性,而不是忙碌的海狸挑战。 程序不得访问其自己的源代码。但是,如果需要,可以允许使用空程序(只要遵循其他规则)。 由于手动检查程序很困难,因此您可以使用理论方法计算出分数。您必须在程序中包含分数和正确性的说明。如果您无法计算出分数,则可以使用循环中程序数量的下限作为实际分数。当您找到更好的下限时,或者如果您找到确切的实际分数,则可以更新此内容。 这是代码挑战,因此得分最高! 编辑:建议您用科学计数法写下您的分数,以使答案更容易比较。也可以使用其他形式的乐谱,这尤其好,尤其是如果它们更清楚地与您的程序相关联时。此外,鼓励读者编辑以前的答案以符合此要求。

10
u!R !!!
准中继! 的顺序的喹中继是一系列节目P 1 ... P ñ在不同的语言,使得每个节目P 我输出P 我+ 1和P Ñ输出P 1。ññnP1个… PñP1个…PñP_1\dots P_nP一世P一世P_iP我+ 1P一世+1个P_{i+1}PñPñP_nP1个P1个P_1 例如,在这里可以看到一个2喹继电器: Ruby→Perl 6: 这个Ruby程序: $><<"print (" p (DATA.read*2).chars.map(&:ord) $><<".map: &chr).join" __END__ $><<"print (" p (DATA.read*2).chars.map(&:ord) $><<".map: &chr).join" __END__ 输出此Perl 6程序: print ([36, 62, 60, 60, 34, 112, 114, 105, 110, 116, 32, 40, 34, 10, 112, …

19
生成打印长度为n倍的程序
给定一个非负整数n,您的解决方案必须以您选择的语言输出一个程序,该程序的输出n字节数与输出程序的字节数相同。 规则 您必须指定解决方案输出的程序的语言和编码,并且不得为解决方案的不同输入选择不同的语言或编码。输出程序的语言可能与解决方案的语言相同,也可能不同。 您提交的内容仅需要处理您语言范围内的整数,但请勿滥用此规则。 这是代码高尔夫球,因此以字节为单位的最短提交会获胜。 例 假设n是4。然后f_8,我的解决方案输出了一个程序,该程序以我的(虚构的)语言输出j3 1s+/2]!mz。程序输出的长度为3,其输出的长度为3 * 4 = 12,因此该解决方案对于输入4是正确的。 假设它n是1,我的程序输出ffffpfpffp(10个字节)。ffffpfpffp用我选择的语言编写的程序必须产生10 * 1 = 10字节的输出。
16 code-golf  quine 

4
改造一个原始世界
这项挑战基于Helka Homba的 “ 编程原始世界 ”问题。从这个问题出发,原始程序的定义是: 让我们将原始程序定义为本身没有任何错误,但是如果您通过删除任何连续的N个字符的子字符串来修改它会出错的程序,其中1 <= N < program length。 例如,三个字符的Python 2程序 `8` 是一个原始程序(谢谢Sp),因为删除长度为1的子字符串所导致的所有程序都会产生错误(实际上是语法错误,但是任何类型的错误都可以): 8` `` `8 并且由于删除长度为2的子字符串而产生的所有程序也会导致错误: ` ` 例如,如果`8曾经是一个没有错误的程序,那么`8`它将不会是原始的,因为所有删除子字符串的结果都必须出错。 笔记: 编译器警告不算作错误。 错误的子程序可以接受输入或给出输出,或执行其他任何操作,只要它们最终会出错就可以。 您的任务是创建一个长度不为零的程序,该程序准确地打印其自身的源代码,并遵循适当的规则,并且原始。 每种语言的最短答案(以字节为单位)获胜。

9
直到2017年
在这个挑战中,您将构建一个程序,该程序会随着时代的发展而不断发展……直到2017年。 挑战 每当此挑战说明说“程序”时,您也可以阅读“功能”。 您的提交在执行时将输出一个THE LENGTH OF YOUR SUBMISSION+ 1字节长的程序。 当该执行程序,它会输出一个程序,它是THE LENGTH OF YOUR SUBMISSION+ 2字节长...等等。 但是,当程序达到2017字节的长度时,它必须改为输出2017并退出。 规则 最终程序的输出必须为2017并且仅2017。它可以是字符串,也可以是整数,但必须读取2017并且不能读取或不读取,2017.0或读取0x7E1其他此类废话。 没有标准漏洞。 只允许您的初始程序要求输入,该输入将添加到您的字节数中。因此,如果您的初始程序是324个字符长,并且需要输入13个字节,那么您的总分将是 324 + 13 = 337, 并且它输出的程序必须是 338长个字节。 perl -X但是,只要您的初始程序和所有生成的程序都使用相同的标志,就可以使用命令行标志(例如)。同样,它们也计入总字节数。命令行标志前的破折号,斜杠等不计入总数,因此例如perl -X算作一个额外的字节。 如果返回一个函数,则它应该是一个实际函数,而不是在求值时产生一个函数的字符串。 不允许使用错误的奎因(如果您的程序是奎因)。 例 伪码,99个字节 IF (PROGRAM LENGTH == 2017) PRINT 2017 ELSE PRINT (THE SOURCE OF THIS PROGRAM + 1 …

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.