Napisz program o następujących właściwościach:
Po uruchomieniu w takiej postaci program nie generuje danych wyjściowych (tj. 0 bajtów danych wyjściowych).
W programie znajduje się lokalizacja (do wyboru: może być na początku, na końcu lub gdzieś pośrodku) z następującą właściwością: modyfikacja programu poprzez umieszczenie dowolnego łańcucha spowoduje, że wynikowy program wydrukuje ten łańcuch, gdy wykonany.
Musi to działać niezależnie od tego, czy ciąg zawiera cudzysłowy, ukośniki odwrotne, znaki komentarza, ograniczniki, bajty NUL itp .; bez względu na to, co tam umieścisz, ciąg jest nadal interpretowany jako ciąg i drukowany całkowicie dosłownie. Możesz jednak nie obsłużyć bardzo bardzo długich łańcuchów, jeśli spowodowałoby to wyczerpanie się pamięci w kompilatorze itp. (Mówiąc dokładniej, powinieneś być w stanie obsłużyć łańcuchy o długości do 1000 bajtów lub trzykrotnie większej niż długość twojego programu, w zależności od tego, który jest dłuższy).
Przykładem może być nieprawidłowe rozwiązanie
print("");
# ^ text goes here
w Python, Perl, Ruby itp .; chociaż działa na wiele ciągów, nie będzie działać na ciąg zawierający podwójny cudzysłów lub ciąg zawierający podłańcuch \n
(który byłby interpretowany jako nowy wiersz).
Zauważ, że ten problem jest prawdopodobnie niemożliwy w większości języków; wyzwanie polega przynajmniej na znalezieniu języka, w którym działa. Wybrany język musi być językiem programowania zgodnie z definicją tej witryny , np. Brak przesyłania rozwiązania w tekście .
Ponieważ jest to gra w golfa , wygrywa najkrótszy szablon programu. Nie zniechęcaj się jednak do zgłaszania rozwiązań, nawet jeśli nie są w stanie pokonać aktualnego zwycięzcy! Nadal możesz rywalizować o drugie, trzecie itd. Miejsce lub po prostu znaleźć tyle odpowiedzi, na ile to możliwe. Należy jednak upewnić się, że program spełnia całą specyfikację przed przesłaniem; przybliżone rozwiązania nie trafiłyby w sedno problemu.
AWK
, po prostu 1
by to zrobiło .