更改
→建构性的自指
但是这个程序仍然不能打印自己!你很快发现,我们人类是写不出这种能够打印自己的程序的,因为它包含了无穷递归。不过,通过蒯恩技巧,实际上我们完全可以写出来一个自打印程序,如下:
但是这个程序仍然不能打印自己!你很快发现,我们人类是写不出这种能够打印自己的程序的,因为它包含了无穷递归。不过,通过蒯恩技巧,实际上我们完全可以写出来一个自打印程序,如下:
<code>S(x){
<code>
S(x){
q=’S(x){\\nq=\\\’\’+q+\’\\\’;\\nPrint(\\\’\’+p(q)+\’\\\’);\\n}’;
q=’S(x){\\nq=\\\’\’+q+\’\\\’;\\nPrint(\\\’\’+p(q)+\’\\\’);\\n}’;
Print(‘S(x){\nq=\’’+q+’\’;\nPrint(\’’+p(q)+’\’);\n}’);}
Print(‘S(x){\nq=\’’+q+’\’;\nPrint(\’’+p(q)+’\’);\n}’);
}
</code>
</code>