Masz napisać sekwencję 10 programów, p1 p2 ... p10
które spełniają następujące właściwości:
pK
wydrukipK+1
doK
od 1 do 9p10
odbitkip10
- Gdy pierwsze
K
programy zostaną połączone, powstały program zostaniep1...pK
wydrukowanyp1...pK
. - Każdy program
pK
musi mieć większy rozmiar bajtów niż poprzedni programpK-1
. - Wszystkie programy muszą być w tym samym języku.
- Wbudowane funkcje quiningu (np.
Q
W wielu językach) są dozwolone.
Twój wynik to suma liczby bajtów 10 programów. Ponieważ jest tylko dziesięć programów, kody muszą być jak najkrótsze. Powodzenia.
code-golf
sequence
quine
code-generation
Conor O'Brien
źródło
źródło
Odpowiedzi:
Poważnie, 245 bajtów:
Wszystkie dziesięć programów zostało połączone:
Istnieją niewidoczne znaki, które stają się widoczne po wykonaniu, dziwna właściwość bajtu 7F. Końcowe znaki nowej linii w każdym programie są znaczące. W rzeczywistości Poważnie automatycznie dodaje nowe wiersze do danych wyjściowych, niezależnie od tego, czy tego chcesz, czy nie. To tylko zlicza liczbę nowych wierszy na wyjściu, a gdy tylko liczba ta przekroczy 8, usuwa ostatni znak wyniku. Jako taki
p1..pK
wydrukujep1..pK
dla wszystkich K> 4.źródło
Q
który wypycha kod źródłowy programu.JavaScript (ES6), 985
Wcześniej źle zrozumiałem zasady, więc moja poprzednia odpowiedź była niepoprawna.
Ten wykorzystuje funkcję podnoszenia zamiast podnoszenia zmiennego, więc nie zależy od programu 10. W rzeczywistości uważam, że jest to quine dla dowolnej kombinacji dwóch lub więcej połączonych programów.
Oświadczenie: jest teraz naprawdę późno, więc wszystko powyżej może być całkowicie błędne.
źródło
alert
powodu wyjścia funkcji.JavaScript ES6, 1935 bajtów
Dziesięć programów:
źródło
(\S)+
i podstawienia,$0$1
aby zapisać niektóre bajty?𝔼𝕊𝕄𝕚𝕟 2, 214 znaków / 334 bajty
Try it here (Firefox only).
Wyjaśnienie
Program zlicza wyszukiwania 9 spacji z rzędu, co stanowi liczbę spacji wiodących w 10. programie. Jeśli znajdzie dopasowanie, wówczas generowany jest kod źródłowy; w przeciwnym razie generowany jest kod źródłowy, prowadzony spacją.
źródło