Wyzwanie
Twoim zadaniem jest napisanie fragmentu kodu, który wyświetli inny fragment kodu. Ten kod musi z kolei generować kolejny kod, dopóki kod końcowy nie wyśle liczby całkowitej 1 . Łańcuch kończy się przy pierwszym wyprowadzeniu 1 .
Żaden z twoich programów nie może dzielić żadnych znaków (jest jeden wyjątek w sekcji Reguły).
Zwycięskie zgłoszenie będzie zgłoszeniem o najdłuższym łańcuchu. Łącznik będzie najkrótszą całkowitą długością kodu.
Zasady:
- Możesz używać zarówno funkcji, programów, jak i fragmentów. Możesz założyć środowisko REPL.
- Wszystkie funkcje muszą być napisane w tym samym języku
- Języki niezależne od symboli są niedozwolone. Obejmuje to częściowo niezależne od symboli języki, takie jak Zagłówki.
- Domyślne formatowanie wyjściowe można opcjonalnie pominąć w danych wyjściowych funkcji. Obejmuje to końcowe znaki nowej linii
ans =
itp. - Możesz ponownie użyć znaku spacji (punkt kodu ASCII 32), ale zwróć uwagę na następujące kwestie:
- Możesz użyć tyle znaków spacji, ile chcesz w jednej z funkcji, ale ogranicz ją do maksymalnie 5 we wszystkich innych funkcjach
- Nie możesz ponownie używać żadnych znaków, jeśli kod 32 nie jest spacją w twoim języku.
Żaden z programów nie może pobierać danych wejściowych
Łańcuch musi mieć co najmniej dwa programy.
Przykład:
Twój początkowy kod to abc+cab+bac
. Daje to:, foofoo*123
co z kolei daje disp(~0)
, co daje 1
. Jest to łańcuch 3 programów o łącznej długości 29 (remis).
2^3
, co tylko do oceny 1
, czy to ma być przykład lambda:2^3
, print(2^3)
itd?
1
być zarówno programem, jak i wynikiem tego programu, czy też łańcuch kończy się, kiedy 1
jest wynikiem?