(Натхненний 95 персонажами ASCII ... 95 Цитати про фільми )
Змагання
Давши вхід n
, виведіть число nth
Фібоначчі . Ви можете використовувати 0
або 1
індексування, будь ласка, вкажіть, який у вашому поданні. Просто, так? Ви повинні взяти набір символів безпосередньо попередньої відповіді, видалити з неї два символи та додати окремий символ. Окремий символ повинен бути
- ні з попереднього набору символів попередньої відповіді
- бути з набору (друкований ASCII, пробіл, новий рядок, горизонтальна вкладка)
і таким чином ваш загальний розмір набору символів буде точно один менший, ніж набір негайних попередніх відповідей.
Початкова відповідь
Перше подання повинно містити підмножину (усі друковані ASCII, пробіл, новий рядок та горизонтальну вкладку) з видаленими двома символами. Кожне подальше подання повинно обмежувати свої відповіді цим оригінальним форматом лише для ASCII (тобто ви не можете додати Unicode або розширений символ ASCII ... Вибачте, Jelly, APL та ін.).
Приклади та уточнення
- Припустимо, перша відповідь знаходиться в C і містить (майже всю друковану ASCII, нову лінію та горизонтальну вкладку) і не містить набору символів
%
та^
від нього. Тоді друге подання повинне видалити два символи з попереднього (майже всіх друкованих ASCII, нових рядків та горизонтальних вкладок) і додати%
або^
. Можливо, це односкладова відповідь PowerShell, яка не відповідає новому рядку. І так далі. - Якщо в попередній відповіді був
print(){}!*+
набір символів (12 символів), ваше повідомлення може міститиprint(){}!
(10 символів) і один додатковий символ,print(){!+
((10 символів) та один додатковий символ тощо. - Якщо попередній відповідь був в
print(){}!*+
якості набору символів (12 символів), ваша заявка може НЕ матиprint()
і&
(8 символів) в якості набору символів, так як12 - 8 > 1
. - Якщо в попередній відповіді був
print(){}!*+
набір символів (12 символів), ваше подання не могло матиprint(){}!
(10 символів) плюс додатковий символ*
як його набір символів, оскільки, хоча це 11 символів, цей*
знак включений у попередній набір. - Не кожен персонаж у наборі персонажів повинен робити щось корисне для подання. Наприклад, якщо попередній відповідь мав
print(){}!*+
як набір символів, а у вашій мові є вбудований модуль,!
який обчислює послідовність Фібоначчі і#
починає коментар, ваше повідомлення може бути!#print(){}
і залишається дійсним. - Ви можете використовувати один і той же символ у своєму наборі символів кілька разів. Наприклад, припустимо, що ваш набір символів був
!*#_
, ваша відповідь може бути!!!**#**#_!!
і була б прийнятною. - Окрім коду (і пояснення теж приємне!), Будь ласка, також чітко перелічіть свій набір символів, щоб полегшити подальше подання.
Перемога
Переможцем виклику стане людина, яка розмістила другу останнє подання (тобто не особа, яка опублікувала останнє, оскільки вони зламали ланцюжок).
Заключні правила
Звичайні правила ланцюжка відповідей :
- Один і той же чоловік не може публікувати повідомлення двічі поспіль
- Якщо відповідь вважається недійсною (наприклад, вона використовувала заборонений символ або неправильно обчислювалась), її потрібно видалити (і всі наступні відповіді, що також відключають її)
- Двоє користувачів, які публікують повідомлення "одночасно", повинні відмовитись від попереднього подання
- Цю ж мову не можна розміщувати двічі поспіль. Для цілей цього правила мови однієї сім'ї (наприклад, Python 2 та Python 3) вважаються "однаковою мовою".
Заключні речі:
- Ця публікація найкраще працює, якщо ви будете сортувати за "Найстарішими", щоб відповіді були в належному порядку.
- Кайл Gullion побудував код перевірки в Python тут , щоб перевірити , якщо ви пропустили або використовуючи неправильні символи.