Программа, печатающая себя - это
довольно старая задача. На некоторых языках программирования она имеет
довольно лаконичное решение. Например на BASIK'е :
или ещё проще - пустая программа (что RUN её, что LIST - один эффект).
10 LIST
20 REM что угодно...
30 STOP
Впервые решение этой задачи я встретил в книге "100 задач по программированию" (Автор - Дагене). Именно это решение, набранное с некоторыми коррективами по памяти спустя 2 года после прочтения оригинала, я и представляю на ВАШ суд.