标签: quine

最短的python quine?

_='_=%r;print _%%_';print _%_
Run Code Online (Sandbox Code Playgroud)

这是最短的python quine,还是可以做得更好?这个似乎改进了The Quine Page上的所有条目.

我不算琐碎的'空'程序,而且我不算Terry Reedy的提交,因为双引号(如果允许的话,"hello world"是一个quine?还是"'"那个问题? )

python quine

37
推荐指数
8
解决办法
2万
查看次数

如何编写自我复制代码(在exec上打印源代码)?

我已经看到很多基于C/C++的解决方案来解决这个问题,我们必须编写一个程序,在执行时打印自己的源代码.

一些解决方案

http://www.cprogramming.com/challenges/solutions/self_print.html

Quine Page解决方案有多种语言版本

网上有更多解决方案,每个解决方案都不同.我想知道我们如何处理这样一个问题,解决它的人心中的问题.请给我一些关于这个问题的见解...虽然解释语言中的解决方案如perl,php,ruby等可能很容易......我想知道如何用编译语言设计它...

programming-languages quine

33
推荐指数
2
解决办法
1万
查看次数

Zip文件只包含其自身?

出于好奇,是否存在一个有效的zip文件(根据格式规范),除了自身之外什么都没有?

换句话说,实现的功能unzip是否有一个定点?

我可以编写一个程序来以智能(非详尽)的方式搜索这样的修复点吗?

我也考虑过相反的情况,即如果zip有一个定点,但可能是一个文件可以用不同的方式压缩(不同的算法,不同的压缩级别等等),因此f = zip(f)对于某些文件是否成立f是可能依赖于实现.由于拉链压缩是无损的,因此unzip应该有一个"正式"的答案.

有谁探索过这个?任何指向相关URL的指针都表示赞赏.

compression zip quine

31
推荐指数
1
解决办法
5504
查看次数

是否有可能用每种图灵完整的语言创建一个quine?

我只是想知道它是否100%可能,如果我的语言是turing-complete,写一个打印出来的程序(当然不使用文件读取功能)

因此,如果语言只有真正必要的东西,以使其完成(我会证明通过将Brainf*ck代码翻译成它),如输出,变量,条件和gotos(地狱是的,得到的),我可以尝试在里面写一个quine?

我也问这个问题,因为我不确定quin是否直接符合图灵定律,即图灵机能够完成任何计算任务.我只是想知道,所以我不会尝试多年而不知道这可能是不可能的.

language-design quine turing-complete

28
推荐指数
2
解决办法
3253
查看次数

程序可以输出自己的副本

我认为这可能是一个经典问题,但我不知道答案.一个程序可以输出自己的副本,如果有的话,是否有一个简短的程序来执行此操作?

我不接受"空程序"作为答案,我不接受有权访问自己的源代码的程序.相反,我在想这样的事情:

int main(int argc, char** argv){ printf("int main(argc, char** argv){ printf...
Run Code Online (Sandbox Code Playgroud)

但我不知道如何继续......

compression algorithm complexity-theory quine

22
推荐指数
3
解决办法
1万
查看次数

写一个奎因的"诀窍"是什么?

我读了Ken Thompson的经典论文"信任信任的思考",其中他提示用户写一个Quine作为他的论点的介绍(强烈推荐阅读).

quine是一个计算机程序,它不接受任何输入并生成自己的源代码的副本作为其唯一的输出.

天真的方法只是想说:

print "[insert this program's source here]"
Run Code Online (Sandbox Code Playgroud)

但很快就会发现这是不可能的.我最后用Python 编写了一个,但仍然无法解释"诀窍".我正在寻找一个很好的解释为什么奎因是可能的.

computability quine

22
推荐指数
1
解决办法
8011
查看次数

什么是quines?拥有它们的任何特定目的?

我遇到了这个术语 - 奎因(也称为自我复制程序).只是想了解更多信息.如何写一个quine,他们在任何地方使用,或者他们只是一个有趣的运动?

我从Python开始,我可能会尝试用Python编写一个.有什么建议?

python quine

18
推荐指数
5
解决办法
3544
查看次数

重现自己的程序

是否有可能创建一个Java程序将其源代码打印到一个新文件,并编译它,并运行已编译的程序?

java quine

18
推荐指数
4
解决办法
1万
查看次数

打印自己的程序,它是如何工作的?

我遇到了一个在这个网站上打印自己的程序,即打印程序代码.

程序代码是:

#include <stdio.h>
char *program = "#include <stdio.h>%cchar *program = %c%s%c;%cint main()%c{%cprintf(program, 10, 34, program, 34, 10, 10, 10, 10, 10, 10);%c    return 0;%c}%c";
//what is this line doing, what is the use of %c and %s and what properties of %c and %s are being used here?
int main()
{
        printf(program, 10, 34, program, 34, 10, 10, 10, 10, 10, 10);
        //what is this print function doing, and how?
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

并给出的解释是:

这里的两个关键技巧是使用带有嵌入式%s说明符的字符串,以允许字符串在打印时包含自身,并使用%c格式说明符允许打印出特殊字符,如换行符,否则无法嵌入到输出字符串.

我不明白该程序是如何工作的.我已经提到了我需要解释的线条,它们如何工作以及它们在做什么.请解释.

c quine

18
推荐指数
1
解决办法
2万
查看次数

最短的红宝石奎因

刚读完这篇博文:http://www.skorks.com/2010/03/an-interview-question-that-prints-out-its-own-source-code-in-ruby/

在其中,作者辩称使用quine作为面试问题的案例.我不确定我是否同意,但这不是这个问题的内容.

他继续在Ruby中构建一个quine并重构它以缩短它.然后他挑战读者,试着让它更短.

我玩了一会儿,想出了以下内容:

s="s=;puts s[0,2]+34.chr+s+34.chr+s[2,36]";puts s[0,2]+34.chr+s+34.chr+s[2,36]
Run Code Online (Sandbox Code Playgroud)

这是我第一次尝试过quine,我无法弄清楚如何缩短它.

你能想出的最短的Ruby quine是什么?如果您的实施需要,请发布解释.

ruby quine

16
推荐指数
1
解决办法
6281
查看次数