Використання 74 символів з рядка капсули часу 2016 року
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
записати фрагменти N коду всією тією ж мовою, де:
- Виходить перший фрагмент
1
. - 2-й фрагмент виводить
2
. - 3-й фрагмент виводить
3
. - ... і т.д. ...
- N-ний фрагмент виводить
N
(число, а не буквальна літера).
"Фрагмент коду" визначається як будь-який із них:
- Повна програма без необхідного введення, яка нормально виводить число .
- Функція без необхідних аргументів, яка нормально виводить / повертає число .
- Реплєї вираз, значення якого числа.
(Ви можете змішувати ці три варіанти у своїх N фрагментах.)
Символи, які ви можете використовувати в комбінованому наборі N фрагментів, - це точно 74 символи часової капсули, а також floor(N/2)
додаткові байди "wildcard", які ви можете використовувати будь-де.
Наприклад, часова капсула містить три символи, @
тому у ваших N фрагментах може бути лише до трьох @
присутніх, якщо ви не вирішите використовувати деякі ваші floor(N/2)
байд-коди для додаткових @
.
Таким чином, не рахуючи символів, комбінований набір символів у ваших N фрагментах повинен бути підмножиною з 74 символів часової капсули. Їх комбіновані довжини не можуть перевищувати 74. Ви можете не використовувати повторно символи капсули або символи байк-символів між фрагментами.
Примітки
Немає жодних інших обмежень щодо довжини фрагмента чи кількості символів для одного фрагмента.
Ви повинні написати всі фрагменти від 1 до N. Це не 0 до N-1, не k до N + k-1.
Фрагменти повинні бути індивідуальними, а не один фрагмент, який виводить список
1, 2, 3, ..., N
.Вихідні дані можуть бути плаваючими як
3.0
на місці,3
і ви можете використовувати базу, відмінне від десяткової, якщо це природна база вашої мови . Потрібно використовувати однакову базу для всіх фрагментів.Підстановки підраховуються як байти в кодуванні вашої мови . Це, ймовірно, буде ASCII, але, наприклад, якщо
∞
в кодуванні вважається одним байтом, то ви можете використовувати його як один байт підстановки.Ви можете використовувати байти підстановки для багатобайтових символів. Наприклад,
∞
це звичайно три байти, щоб ви могли використовувати його у фрагменті, але це обійдеться у три вашихfloor(N/2)
байд-шари.Нові рядки, такі як,
\r\n
можливо, вважаються одним байтом.
Приклад
У Python N = 4 можливий лише за допомогою REPL. Є floor(4/2) = 2
подвійні картки.
1
від капсули часу - це вираз, до якого схиляється1
.2
складається з однієї підстановки, а саме2
. Овалів до2
.3
також складається з однієї підстановки. Овалів до3
. Більше немає марок.4
на щастя у часовій капсулі, і це дорівнює4
.
Ці фрагменти короткі та тривіальні. Справжня відповідь, ймовірно, буде набагато складнішою.
(П'ять і пізніше в Python, безумовно, можливо, але я залишу це професіоналам.)
Оцінка балів
Відповідь з найбільшим N виграє; тобто той, який піднімається по цілій драбинці найвищим.
У разі вирівнювання виграє відповідь, яка використовувала найменші байти підстановки.
Якщо все-таки є нічия, виграє відповідь, яка використовувала найменше кумулятивних символів.
Якщо все-таки є нічия, попередня відповідь виграє.
07
те саме, що 7
?
-
n
4
дійсний фрагмент, який повертає 4, у старих версіях Perl, у яких немає REPL?)