gpt4 book ai didi

c - 是否可以编写一个程序,利用 "sequence-generating-function"打印自己的源代码

转载 作者:太空狗 更新时间:2023-10-29 16:56:37 24 4
gpt4 key购买 nike

是否可以编写一个程序,利用“序列生成函数”打印自己的源代码?

我所说的序列生成函数只是一个函数,它返回一个特定间隔之外的值(即可打印的 ascii 字符 (32-126))。现在的重点是,这个生成的序列应该是程序自己的源代码。如您所见,实现一个返回任意序列的函数非常简单,但由于返回的序列必须包含函数本身的实现,因此这是一项非常重要的任务。

这就是这样一个程序(它的相应输出)的样子

#include <stdio.h>

int fun(int x) {
ins1;
ins2;
ins3;
.
.
.
return y;
}

int main(void) {
int i;
for ( i=0; i<size of the program; i++ ) {
printf("%c", fun(i));
}
return 0;
}

我个人认为这是不可能的,但由于我对底层问题不太了解,所以我在这里发表了我的想法。我真的很期待听到一些意见!

最佳答案

如果您知道如何将数组编码为函数(您似乎在说您已经知道如何执行此操作),那么 Kleene Recursion theorem保证可以完成。

但对于怀疑 Thomases,here是一个 C 例子。它有一个程序生成函数,该函数仅使用 +、-、* 或/或调用使用它们的其他函数。

如果您拥有图灵完备性和打印您喜欢的内容的自由,奎因总是可能的。

关于c - 是否可以编写一个程序,利用 "sequence-generating-function"打印自己的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2849702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com