Heute bin ich über eine Seite gestolpert, die sich mit Quines beschäftigt. Ein Quine ist ein Computerprogramm, das nur den eigenen Quelltext ausgibt.
Dabei bin ich auf folgende Seite gestoßen: http://safalra.com/programming/c-sharp/quines/
Dort hat Larry Croney 3 Quines verfasst:
class c{static void Main(){string s="class c{{static void Main(){{string s={0}{10};System.Console.Write(s,(char)34,s);}}}}";System.Console.Write(s,(char)34,s);}}
“Construct a shorter quine (the shortest quine above is 161 characters).”
Sowas muss doch noch kürzer gehen!
Nach 1 Stunde Optimierung kam dieser Code dabei heraus:
class Q{static void Main(){var f="class Q{{static void Main(){{var f={1}{0}{1};System.Console.Write(f,f,'{1}');}}}}";System.Console.Write(f,f,'"');}}
Jetzt nur noch 149 Zeichen. ;)
Nebenbei bemerkt ist der Code von Larry Croney auch noch fehlerhaft. Es fehlen 2 geschweifte Klammern zwischen der 10 (sollte eigentlich 1}{0 sein).
Wenn jemand ein kürzeres C# Quine kennt, lasst es mich wissen!
Remember Me