Każdy może zwiększyć wydajność programu, dodając znaki, więc zróbmy dokładnie odwrotnie.
Napisz pełny program, funkcję wewnętrzną lub fragment kodu dla środowiska REPL w wybranym języku, który spełnia następujące kryteria:
Twój kod musi mieć co najmniej 1 znak.
Uruchomienie oryginalnego kodu powoduje wygenerowanie x znaków wyjściowych do STDOUT (lub najbliższej alternatywy), gdzie 0 ≤ x <+ ∞ .
Usunięcie dowolnego dowolnego pojedynczego znaku z oryginalnego kodu powoduje ponownie powstanie poprawnego kodu, który generuje co najmniej x + 1 znaków wyjściowych do STDOUT.
Ani oryginalny kod, ani modyfikacje nie mogą generować żadnych błędów, na przykład do STDOUT, STDERR, syslog lub gdzie indziej. Jedynymi wyjątkami od tej reguły są ostrzeżenia kompilatora.
Twój program może nie wymagać żadnych flag ani ustawień, aby ukryć wyjście błędu.
Twój program może nie zawierać żadnych krytycznych błędów, nawet jeśli nie generują żadnych wyników.
Zarówno oryginalny kod, jak i modyfikacje muszą być deterministyczne i ostatecznie zakończyć (bez nieskończonych pętli).
Ani oryginalny kod, ani modyfikacje nie mogą wymagać wprowadzania jakichkolwiek danych.
Funkcje lub fragmenty mogą nie utrzymywać żadnego stanu między wykonaniami.
Biorąc pod uwagę, że to zadanie jest trywialne w niektórych językach i wręcz niemożliwe w innych, jest to konkurs popularności .
Podczas głosowania należy wziąć pod uwagę „względną skrótowość” kodu, tj. Krótszą odpowiedź należy uznać za bardziej kreatywną niż dłuższą odpowiedź w tym samym języku .
111111111111111111^111111111111111111
(jeśli miałeś na myśli najniższy stosunek).
k
instrukcji, wynik każdego programu jest ściśle większy niż wynik oryginału od tego czasu (ponieważ drugi programy zapętlałyby się szybciej lub generowały więcej pętli). Wyglądało całkiem interesująco. Może i tak zobaczę, czy uda mi się to ukończyć i podjąć kolejne wyzwanie.