... принаймні для певного визначення поняття "самомодифікація".
Завдання
У цих проблемах, ваше завдання полягає в тому, щоб написати три рядки A, Bі Cякі задовольняють такі властивості.
Рядок
Bмає довжину не менше 1.Для кожного
n ≥ 0рядка є дійсною програмою (що означає повну програму чи визначення функції) на обраній вами мові програмування. Індекс вказує повторення, тому це означає , що рядки , , , і т.д. Кожна програма займає один рядок в якості вхідних даних, і повертає один рядок в якості висновку.ABnCACABCABBCABBBCДля будь-якого
m, n ≥ 0, якщо програма запускається з введенням , вона повертається . Для входів, які не мають такої форми, програма може робити що завгодно, включаючи аварію.ABmCABnCABm*n+1C
Деякі приклади у форматі 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
Правила та підрахунок балів
Ваш бал - загальна довжина AтаC , нижчий бал - кращий. Зауважимо, що, хоча Bвін не зараховується до балу, він повинен бути створений Aі Cяк у першому прикладі.
Стандартні лазівки заборонені. Програми не мають права прямого чи опосередкованого доступу до власного вихідного коду (за винятком випадків, коли вони надаються як вхідні дані). Ви повинні визначити рядки A, Bі Cв своїй відповіді в деякому роді, і закликав , щоб пояснити своє рішення.