Wszyscy wiemy, co to jest quine . Odwrócony Quine jest niepusty program, który drukuje odwrotnością jego kodu źródłowego bez czytania jego kod źródłowy i składa się wyłącznie ze znaków ASCII druku (poprzez przestrzeń ~
).
W tym przypadku „odwrotność kodu źródłowego” oznacza, co następuje: wynik programu musi zawierać każdy drukowalny znak ASCII (m - c) razy, gdzie c jest liczbą wystąpień tego znaku w kodzie, a m jest maksymalnym liczba powtórzeń dowolnego znaku w kodzie.
(Innymi słowy: twój kod + twój wynik = permutacja m razy wszystkich drukowalnych ASCII.)
Na przykład, jeśli twój program to 12345
, to m = 1 i powinieneś wypisać dowolną permutację tego ciągu:
!"#$%&'()*+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Jeśli twój program to AAB
, to m = 2 i powinieneś wypisać dowolną permutację:
!!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@BCCDDEEFFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
Zwróć uwagę, że brakuje dwóch A
s, a jednego brakuje B
.
Chociaż program, który zawiera wszystkie drukowalne znaki ASCII i niczego nie wypisuje, jest prawidłową odwrotną quine (spełniającą m = 1 ), taka odpowiedź nie byłaby zbyt konkurencyjna, biorąc pod uwagę jej długość.
Masz napisać program, który jest odwrócony quine, jak opisano w powyższym akapicie. Ponieważ jest to kod-golf , wygra najkrótszy program w bajtach. Powodzenia!
duplicated for every repeated character in the source code
to robi różnicę w wyzwaniu
11234512345
?
duplicated for every repeated character in the source code
oznacza lub czy przesłanie jest ważne dla tego kryterium, ponieważ PO nie rozwiązał dość kilka pytań tutaj.