Це виклик копів та грабіжників . За розбійницькою ниткою йдіть сюди .
Цей виклик передбачає дві послідовності OEIS, обрані поліцейськими - S 1 , S 2 - і те, наскільки добре ці послідовності можна пограти в гольф і заблукати.
Виклик копів
Вашим завданням як поліцейського є вибір вільно доступної мови та двох послідовностей OEIS. Потім напишіть код A на тій мові, який приймає введення n і виробляє S 1 (n). Коли цей код буде змінено на відстані Левенштейна з символів X (з X не більше 0.5 * (length A)
) і перетвориться на код B тією ж мовою, він повинен створити S 2 (n). Ви дійсно повинні написати цей код B , але не розкривати його, поки ваше завдання не надійне (див. Нижче).
Представлення копів повинно містити назву мови, повний код A , кількість байтів A , значення X, скільки змін, щоб дістатися до їх секретного коду B , та вибрані номери послідовностей S 1 і S 2 . Ви можете вибрати, чи буде кожна послідовність 0-індексованою або 1-індексованою, але, будь ласка, вкажіть її у своєму поданні.
Щоб зламати певне уявлення, грабіжники повинні придумати програму C на тій же мові (та версії), яка виробляє S 2 (n) і Y- символ змінюється на A (з Y <= X
). Розбійникам не обов’язково потрібно знайти той самий код B, який видав поліцейський (таємно).
Перемога та зарахування
Якщо відповідь вашого поліцейського не було зламано протягом 7 днів (168 годин), ви можете розкрити власне рішення B , і тоді ваша відповідь вважається безпечною. Поки ви не розкриєте своє рішення, воно все одно може бути зламане грабіжниками, навіть якщо вже минуло 7 днів. Якщо ваша відповідь зламається, вкажіть це у заголовку своєї відповіді разом із посиланням на відповідну відповідь грабіжника.
Менти виграти, маючи уявлення з без тріщин найкоротших А . Якщо зв'язати, то найменший Х буде використовуватися як краватка. Якщо все-таки зв'язали, рання подача виграє.
Подальші правила
- Ви не повинні використовувати будь-які вбудовані модулі для хешування, шифрування чи генерації випадкових чисел (навіть якщо ви поставите генератор випадкових чисел у фіксовану величину).
- Будь-які програми або функції дозволені, але код не повинен бути фрагментом, і ви не повинні приймати середовище REPL.
- Ви можете взяти введення та дати вихід у будь-якому зручному форматі . Методи введення / виведення повинні бути однаковими для обох послідовностей.
- Остаточним калькулятором відстані Левенштейна для цього завдання є цей на Planet Calc.
- Окрім CnR, це код-гольф, тому застосовуються всі звичайні правила гольфу.
(0.5*len(A))