воскресенье, 20 января 2013 г.

Квайн (Quine) - С++

Квайн - это программа, которая печатает свой собственный код.
пример квайна:

Увы, один из вариантов является читом:
ifstream openfile("./Quine.cpp", ios::in);
 string temp;
 while ( getline(openfile, temp) )
 {
  cout < < temp < < endl;
 }
 openfile.close();
Так,как программа может и не знать, где находится файл с программой.
#include
char*i="\\#include ",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);}
Пример с википедии, (partial quine)
Задача: написать максимально короткий квайн :3

0 коммент.:

Отправить комментарий