Utwórz program, który sam wyjdzie.
Jeśli jednak kod źródłowy jest powtarzany n razy (co oznacza konkatenację kopii kodu źródłowego do końca n-1 razy) , wówczas powinno być 1 / n prawdopodobieństwo wyprowadzenia oryginalnego kodu źródłowego, 1 / n prawdopodobieństwo wyprowadzenia kod źródłowy powtórzony dwukrotnie, prawdopodobieństwo 1 / n wyprowadzenia kodu źródłowego powtórzone trzy razy, ... i prawdopodobieństwo 1 / n wyprowadzenia kodu źródłowego n razy.
Na przykład, jeśli twój program jest foobar
, to zawsze powinien wypisywać dokładnie foobar
. Jeśli jednak uruchomić foobarfoobarfoobarfoobar
, to nie powinno być ¼ szansa każdego wyprowadzania foobar
, foobarfoobar
, foobarfoobarfoobar
i foobarfoobarfoobarfoobar
.
- Rozkład każdej możliwej produkcji powinien być równy
- Oprócz stosowania standardowych metod we / wy i zabronionych standardowych luk, obowiązują standardowe zasady quine (nie można uzyskać dostępu do własnego źródła itp.)
- To jest kod golfowy, więc wygrywa najkrótsza odpowiedź w bajtach
foobarfoobar
), Wydrukuje się tylkofoobar
foobarfoobar
jestfoobar
powtarzany dwa razy, nie raz.Odpowiedzi:
Perl 5 ,
8280 bajtówWypróbuj online! lub pakiet testowy
źródło
Galaretka ,
2422 bajtówWypróbuj online!
Wypróbuj x4!
źródło
05AB1E , 32 bajty
Wypróbuj online!
Wyjaśnienie
źródło
Gol> <> , 21 bajtów
Wypróbuj online!
Wyjaśnienie:
źródło
Alice , 35 bajtów
Wypróbuj online!
Wyjaśnienie
Podobnie jak w wielu quinach w językach 2D, zaczyna się od
"
tego, które otacza się i przesuwa całą pierwszą linię oprócz"
siebie.Dodanie jednej lub więcej dodatkowych kopii kodu źródłowego spowoduje umieszczenie niektórych niejawnych spacji na końcu literału łańcucha. Aby uczynić z tego quine, przycinamy stos przy 31 znakach.
Naciśnij nową linię, a następnie trzy razy wysokość stosu. Wartości wypychane jako wysokość stosu wynoszą 32 (spacja w drugiej linii), 33 (
!
druga linia) i 34 (początkowa"
).Naciśnij ponownie wysokość stosu, tym razem jako długość oryginalnego kodu źródłowego (35).
Zainicjuj licznik na 1. Zlicza to liczbę powtórzeń kodu źródłowego.
Trzy razy skręć w prawo (tj. Skręć w lewo). Każde dodatkowe powtórzenie kodu źródłowego spowoduje wstawienie
h
w tej samej kolumnie co ta}
, zwiększając w ten sposób licznik. Gdy adres IP powróci do}
, ponownie skręć w prawo, aby kontynuować w tym samym kierunku.Weź jednolitą liczbę losową od 0 do n-1, a następnie dodaj 1, aby uzyskać liczbę wyświetleń oryginalnego źródła.
Pomnóż przez poprzednio wypchniętą wysokość stosu (długość kodu), a następnie powtórz tę czynność wiele razy, naciskając wielokrotnie adres zwrotny minus jeden.
Wydaj górną część stosu bez niszczenia go.
Przenieś dolny stos na górę.
Powtórz, a następnie zakończ po zakończeniu pętli.
źródło
JavaScript (Node.js) , 62 bajty
Wypróbuj online!
źródło
Węgiel drzewny , 58 bajtów
Wypróbuj online! Brak wersji pełnej, ponieważ deverbosifier obecnie dusi się
"´"
. Oparty głównie na węglu drzewnym z Golfa, jest to dobry uczynek! . Wyjaśnienie:Przypisz literał ciąg
θ⎚×⊕‽L⊞Oυω⁺⪫⁺´≔θ´´θ
doθ
.Wyczyść poprzednie dane wyjściowe, aby zadziałało tylko ostatnie wyjście.
Wciśnij pusty ciąg do predefiniowanej tablicy. To sprawia, że długość tablicy jest równa liczbie przetworzonych do tej pory powtórzeń, więc weź jej długość, weź losową liczbę z domyślnego zakresu wyłączności, dodaj 1 i powtórz następujący ciąg wiele razy.
Wstaw ciąg literału
≔
doθ
, następnie wstaw literały´
s pomiędzy znakami, a następnie dodaj kolejną kopięθ
.źródło