Hartowana radiacyjnie cykliczna poliglota quinowa

10

Wyzwanie

Napisz dwa programy, które:

  • działać w dwóch różnych językach programowania.
    • Nie mogą to być dwie wersje jednego języka.
  • gdy jeden program jest uruchomiony, wyświetla drugi program i na odwrót.
  • Te dwa programy muszą być różne (bez poliglotów).

Oto haczyk:

  • Programy muszą być zabezpieczone przed promieniowaniem.
    • Oznacza to, że usunięcie dowolnego zestawu (zdefiniowanych poniżej) znaków z jednego z dwóch programów nie wpływa na ich funkcjonalność.n
    • n jest definiowany jako liczba znaków, które mogą zostać pominięte przy niezmienionej funkcjonalności programu.
    • n musi wynosić co najmniej .1

Zasady

  • Standardowe luki są niedozwolone.
  • Twoje programy muszą być odpowiednimi cyklicznymi quinesami. Nie mogą czytać własnego kodu źródłowego.
  • Punktacja odbywa się w następujący sposób:
    • Twój wynik to …S1+S2n
    • gdzie i mają odpowiednio rozmiar pierwszego i drugiego programu…S1S2
    • i ma znaczenie zdefiniowane powyżej.n
  • Jest to , wygrywa najniższy wynik.

Nagroda

Ponieważ trudno jest odpowiedzieć na to wyzwanie, dam nagrodę pierwszej osobie, która udzieli odpowiedzi.

dkudriavtsev
źródło
Czy programy muszą być odpowiednie?
Mego
@Mego Whoops - zapomniałem o tym wspomnieć. Tak.
dkudriavtsev
Cóż, „właściwy quine” nie jest właściwym terminem, ponieważ nie są quinesami, ale wygląda na to, że zrozumiałeś, co miałem na myśli.
Mego
10
Osobiście nie sądzę, że to naprawdę dodaje wiele do wyzwań związanych z półkwiną i utwardzaniem promieniowaniem, które już mieliśmy; obie kategorie zostały już zebrane w tak wielu kombinacjach, że niezwykle trudno jest stworzyć naprawdę oryginalną kombinację.
ETHprodukcje
2
Prawdopodobnie powinieneś dodać jakąś nagrodę za udzielenie odpowiedzi. Wydaje mi się, że wielu osobom zbyt trudno jest spróbować. Widziałem, że nie ma na to odpowiedzi i myślałem: „och, to wyzwanie, kocham je!” ale potem przeczytałem WSZYSTKIE ZASADY i to mnie całkowicie odstraszyło.
MD XF

Odpowiedzi:

3

Gol> <> i > <> , (117 bajtów + 117 bajtów) / 1 = 234

Gol> <>

\\<<'3d*}}}}~}:r0<}!o::! ?>~~a<o>Hr~Kl a}}:?%2l}}}ss2"<<\\
\\<<'3d*}}}}~}:r0<}!o::! ?>~~a<o>Hr~Kl a}}:?%2l}}}ss2"<<\\

Wypróbuj online!

> <>

\\<<"2ss}}}l2%?:}}a lK~rH>o<a~~>? !::o!}<0r:}~}}}}*d3'<<\\
\\<<"2ss}}}l2%?:}}a lK~rH>o<a~~>? !::o!}<0r:}~}}}}*d3'<<\\

Wypróbuj online!

Weryfikacja!

Te dwa programy są takie same, tylko odwrócone. Oba mają tę samą ogólną strukturę kodu.

Objaśnienie (Gol> <> na górze,> <> na dole)

\\<<                           <<\\  Transition to the copy of the code that is not radiated
\\<<                           <<\\

                              "    Wrapping string literal over the rest of the code
                              '

                           ss2     Push the string character
                           *3d

                        }}}        Rotate the "<<\" to the correct end of the stack
                        }}}

                 }}:?%2l           Use the extra \ to replace a possible irradiated copy
                    }~}:

       ~     lK                    Duplicate the code
        ~~>? !::o!}<0r             Print a copy of the code in reverse

                a                  Push a newline
       a
    Hr                             Reverse, print the rest of stack and terminate
    >o<                            Print the rest of the stack and terminate
Jo King
źródło