Zadanie
W tym wyzwaniu Twoim zadaniem jest napisanie programu, który nie pobiera danych wejściowych, z możliwie jak największą liczbą anagramów.
Twój wynik będzie liczbą anagramów kodu źródłowego programu, które są poprawnymi quinesami podzieloną przez całkowitą liczbę możliwych anagramów, tj. Procent anagramów, które są poprawnymi quinesami.
Obowiązują standardowe luki i zasady standardowych quines .
Uwaga: Twój program musi mieć co najmniej 3 znaki (nie 3 bajty).
Wejście
Każdy anagram (lub permutacja) twojego programu, który jest sam w sobie (tj. Anagramy, które umieszczasz w swoim wyniku) nie może przyjmować żadnych danych wejściowych. Jeśli twój język wymaga wprowadzenia jako konieczności, możesz założyć, że twój program otrzyma Łańcuch składający się z małej litery A. Jednak nie możesz w żaden sposób korzystać z danych wejściowych.
Wynik
n
liczba odrębnych anagramów kodu źródłowego programu musi być poprawnymi znakami quines, gdzie n
reprezentuje liczbę tych anagramów, które uwzględnisz w swoim wyniku, tj.
Te quag-anagaramy mogą generować dane w dowolny sposób, z wyjątkiem zapisu wyników w zmiennej. Zapis do pliku, konsoli, ekranu itp. Jest dozwolony. Funkcja return
jest również dozwolona.
Przykład punktacji
Załóżmy, że kod źródłowy twojego programu to code
. I,
code
wyjściacode
.coed
wyjściacoed
.cdoe
wyjściacdoe
.cdeo
wyjściacdeo
.cedo
wyjściacedo
.ceod
wyjściaceod
.ocde
wyjściaocde
.oced
wyjściaoced
.odce
wyjściaodce
.odec
nie wyświetla danych wyjściowychodec
lub powoduje błąd.oedc
nie wyświetla danych wyjściowychoedc
lub powoduje błąd.oecd
nie wyświetla danych wyjściowychoecd
lub powoduje błąd.doce
nie wyświetla danych wyjściowychdoce
lub powoduje błąd.doec
nie wyświetla danych wyjściowychdoec
lub powoduje błąd.dcoe
nie wyświetla danych wyjściowychdcoe
lub powoduje błąd.dceo
nie wyświetla danych wyjściowychdeco
lub powoduje błąd.deco
nie wyświetla danych wyjściowychdeco
lub powoduje błąd.deoc
nie wyświetla danych wyjściowychdeoc
lub powoduje błąd.eodc
nie wyświetla danych wyjściowycheodc
lub powoduje błąd.eocd
nie wyświetla danych wyjściowycheocd
lub powoduje błąd.edoc
nie wyświetla danych wyjściowychedoc
lub powoduje błąd.edco
nie wyświetla danych wyjściowychedco
lub powoduje błąd.ecdo
nie wyświetla danych wyjściowychecdo
lub powoduje błąd.ecod
nie wyświetla danych wyjściowychecod
lub powoduje błąd.
Wynik tego rozwiązania będzie
Zwycięskie kryterium
Rozwiązanie o najwyższym wyniku wygrywa! W przypadku remisu wygrywa odpowiedź o większej liczbie znaków (nie liczbie bajtów) (stąd kręgle kodu )! Jeśli remis nadal się utrzymuje, wygrywa rozwiązanie opublikowane wcześniej!
Odpowiedzi:
Unary, 100%
Jest to zasadniczo to samo, co odpowiedź Lenguage, ponieważ są ze sobą powiązane. Myślę jednak, że warto to zauważyć. Uzyskałem go jako 100%, ponieważ każda permutacja kodu spowoduje powstanie samego quine i widzę to jako X / X * 100 = 100%.
5,71728886e + 3431 zer. Pełny numer można znaleźć w tym fragmencie:
Pokaż fragment kodu
Odpowiednik Brainf * ck znajduje się w tym fragmencie:
Pokaż fragment kodu
Źródło
źródło
Lenguage, 100%
5,71728886e + 3431 bajtów zerowych. Pełny numer można znaleźć w tym fragmencie:
Pokaż fragment kodu
źródło
Galaretka , 33,333 ...%
Wypróbuj online!
Wiki społeczności, ponieważ tego nie napisałem. Jeśli podoba Ci się to rozwiązanie lub potrzebujesz wyjaśnienia, zobacz oryginalny post Dennisa tutaj .
źródło
Microscript II, wynik 1/1814399 = 5,5e-7
"qph1"qph1
jest również quine.Microscript II, wynik 5/119750399 = 4,2e-8
"qp21h"qp21h
,"qph12"qph12
,"qph21"qph21
,"qp1h2"qp1h2
I"qp2h1"qp2h1
są również quines.Jestem pewien, że ktoś może wymyślić znacznie wyższy wynik niż którykolwiek z nich, ale to wciąż jedyna odpowiedź z co najmniej jednym quine, który nie jest oryginalnym programem (którego, IMO, nie należy liczyć).
źródło
V 16,6666 ...%
Wypróbuj online!
Istnieje 6 możliwych anagramów tego kodu:
A jednym z nich jest quine.
źródło