Podobnie jak w przypadku innych zagadek z quine (a konkretniej tej ), napisz program, który sam wytwarza źródło.
Oto nowy zwrot: wygenerowany kod NIE powinien być identyczny ze źródłem. Zamiast tego powinien wypisać inny program, który utworzy pierwszy.
Wyzwanie związane z powyższym osiągnięto poprzez przeskakiwanie między dwoma językami. Myślę, że ten zostałby zrobiony tylko w jednym języku , ale dwie (lub więcej) wersje źródła powinny się znacznie różnić (patrz reguły poniżej). Przy takim ograniczeniu odpowiedzi jednoznakowe byłyby niedozwolone, co wymagałoby nieco więcej refleksji nad ostatecznym poddaniem się.
ZASADY
- Twój kod musi być napisany tylko w jednym języku. (Wiele zgłoszeń, po jednym dla każdego języka jest całkowicie do przyjęcia).
- Różne wersje kodu muszą być odrębne pod względem składniowym. Innymi słowy, jeśli narysujesz abstrakcyjne drzewo składniowe dla swojego kodu, powinien istnieć co najmniej jeden inny węzeł.
- Doprowadzania AST nie będzie konieczne, ale jeśli czujesz się skłonny dostarczyć po jednym dla każdego z programów, to by pomóc w ocenie.
- Możesz wykonać tyle iteracji, ile chcesz, o ile wszystkie pozostają odrębne pod względem składniowym. (Więcej pomoże w uzyskaniu wyniku, patrz poniżej.)
PUNKTACJA
Twój końcowy wynik będzie średnią długością wszystkich programów podzieloną przez liczbę programów.
Przykład 1:
A (źródło dla B) = 50 znaków
B (źródło dla A) = 75 znaków
Wynik końcowy = 31,25
Przykład 2:
A (źródło dla B) = 50 znaków
B (źródło dla C) = 75 znaków
C (źródło dla A) = 100 znaków
Wynik końcowy = 25