Znajdź dziurę 1 tutaj .
Zrób quine, która po uruchomieniu wyświetla wiele własnych bloków kodu źródłowego. W rzeczywistości musi wyprowadzić go n razy, gdzie n jest następną liczbą pierwszą.
Myślę, że przykład pokazuje to najlepiej.
[MY QUINE][MY QUINE]
[MY QUINE][MY QUINE][MY QUINE]
[MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE]
[MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE]
[MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE]
Każdy program wyświetli swój podstawowy „blok” (czyli [MY QUINE]) następną liczbę pierwszą razy.
Wbudowane funkcje do obliczania, czy liczba jest liczbą pierwszą (jak funkcja isPrime) lub do określania następnej liczby pierwszej (jak funkcja nextPrime ()) są niedozwolone.
- Oznacza to, że funkcje wyliczające liczbę dzielników są niedozwolone
- Funkcje zwracające pierwszą faktoryzację są również niedozwolone
Powinno to być prawdziwe quine (z wyjątkiem pewnej swobody, patrz następny punkt), więc nie powinieneś czytać własnego kodu źródłowego.
Ponieważ języki takie jak Java i C # są już w niekorzystnej sytuacji, nie musisz generować całkowicie działającego kodu. Jeśli można go wstawić do funkcji (która jest wywoływana) i wypisać następny quine, jesteś dobry.
To jest golf golfowy, więc wygrywa najkrótszy kod!