... przynajmniej dla pewnej definicji „samodzielnej modyfikacji”.
Zadanie
W tym wyzwaniem, twoim zadaniem jest napisać trzy struny A, Bi Cktóre spełniają następujące właściwości.
Ciąg
Bma długość co najmniej 1.Dla każdego
n ≥ 0ciąg jest prawidłowym programem (co oznacza pełną wersję programu lub definicji funkcji) w wybranym języku programowania. Powtórzenie oznacza Indeks górny, więc oznacza to, że ciągi , , , itd. Każdy program trwa jeden ciąg jako dane wejściowe i zwraca jeden ciąg jako wyjście.ABnCACABCABBCABBBCDla każdego
m, n ≥ 0, jeśli program jest uruchamiany z wejściem , zwraca . W przypadku danych wejściowych nie w tym formularzu program może zrobić wszystko, w tym awarię.ABmCABnCABm*n+1C
Kilka przykładów w formacie program(input) -> output:
AC(AC) -> ABC
ABC(AC) -> ABC
ABBBBBC(AC) -> ABC
AC(ABC) -> ABC
AC(ABBBBC) -> ABC
ABC(ABC) -> ABBC
ABBC(ABC) -> ABBBC
ABBBBC(ABBBC) -> ABBBBBBBBBBBBBC
ABBBC(ABBBBBBC) -> ABBBBBBBBBBBBBBBBBBBC
Zasady i punktacja
Twój wynik to łączna długość AiC , im niższy wynik, tym lepiej. Zauważ, że chociaż Bnie jest liczony do wyniku, musi on zostać wygenerowany przez Ai Cjak w pierwszym przykładzie.
Standardowe luki są niedozwolone. Programy nie mają bezpośredniego lub pośredniego dostępu do własnego kodu źródłowego (z wyjątkiem sytuacji, gdy podano go jako dane wejściowe). Które są wymagane do identyfikacji ciągi A, Ba Cw swojej odpowiedzi w jakiś sposób, i zachęcał, aby wyjaśnić swoje rozwiązanie.