If a C programmer asks "do you want to see something cool?", run away.
--John Van Enk

Tuesday, August 21, 2007

Quine

Когда то у нас в университете одним из заданий на курсовой проект было написать программу печатающую свой собственный код. Так тогда это задание никто и не взял себе. И вот недавно, вспомнив об этом, решил поискать в сети. Оказалось, что подобные программы называются Куайн (Quine) и программисты иногда ради забавы соревнуются кто же напишет максимально короткий куайн. Ниже пример с Wikipedia:



#include<stdio.h>
char*i="\\#include<stdio.h> ",n='\n',q='"',*p=
"%s%cchar*i=%c%c%s%c,n='%cn',q='%c',*p=%c%c%s%c,*m=%c%c%s%c%c;%s%c",*m=
"int main(){return!printf(p,i+1,n,q,*i,i,q,*i,q,n,q,p,q,n,q,m,q,n,m,n);}"
;int main(){return!printf(p,i+1,n,q,*i,i,q,*i,q,n,q,p,q,n,q,m,q,n,m,n);}



Результат работы


Как он работает пока еще на разбирался - но в общем это довольно хорошая упражнялка для мозгов.