Близько року тому 31 грудня 2015 року у мене виникла думка, що:
Дверна ручка люб'язно зібрані персонажі з PPCG спільноти і тримали їх в безпеці в протягом року.
Цілих 74 людини взяли участь, тож у нас є граючий 74 друковані символи ASCII !
Ось 74 символи рядка капсули часу 2016 року в порядку їх подання:
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
Ось 74 символи рядка капсули часу 2016 у порядку ASCII (відмітка пробілу):
!!!!!#$$%&())))*+...1449:=@@@AHILOQQQTTZ\\^`````````eefmpxy{||||~~~~~~~~~
З цим не багато працювати, але тут нам подобається виклик.
Змагання
Щоб визначити, яка мова "найкраща" за допомогою рядка капсули часу, у нас виникне 6 (для 201 6 ) завдань, які збільшують труднощі, коли в кожній з них потрібно використовувати підмножину з 74 символів капсули часу.
Наявність 6 чітких викликів допомагає забезпечити конкуренцію більшості мов, але лише найкращі мови зможуть відповісти на них та набрати високий бал.
Оцінка:
- Кожен виклик буде набраний від 0 до 74, залежно від кількості символів.
- Вищі бали - кращі.
- Якщо ваша мова не може виконати виклик, ваша оцінка для цього виклику дорівнює 0.
- Будь-яке непусте підмножина викликів може бути завершено.
- Ваш остаточний бал - це сума балів з усіх 6 завдань.
- Найкращий можливий підсумковий рахунок - 6 × 74 або 444 .
Виклики
1. Бігати
Якщо код мови не може працювати в першу чергу, він взагалі нічого не зможе зробити.
Напишіть найдовшу можливу повну програму (використовуйте лише 74 символи капсули часу, пам’ятайте), яка запускається / виконується без помилок компіляції та часу виконання.
Не має значення, чим займається програма, не має значення, чи є вхід / вихід чи входить в нескінченний цикл, важливо лише те, що вона працює без помилок. (Попередження в порядку, як і помилки, спричинені неправильним введенням користувача.)
Коментарі дозволені, тому це може бути так само просто
#H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
у Python за рахунок 74.
(Не бійтеся відповідати, якщо це єдиний виклик, який ваша мова може виконати, але не очікуйте багато голосів.)
Оцінка = тривалість програми (довша програма краще)
2. I / O
Мова, яка не має форми введення чи виведення, майже така ж марна, як та, яка не може працювати.
З урахуванням символу ASCII для друку від !
(0x33) до }
(0x7D) включно, виведіть символ ASCII для друку перед і після нього.
Вихід може бути довжиною два рядка або списку, або символи, розділені пробілом або новим рядком.
Наприклад , якщо вхідний сигнал }
на виході може бути |~
або ["|", "~"]
або | ~
або |\n~
.
Аналогічно, "
це вихід для !
і AC
є виходом для B
.
Оцінка = 74 - тривалість програми (краща програма краща)
3. Розгалуженість
Умови часто є вимогою до повноти Тюрінга , що часто є вимогою до корисної мови.
Давши додатне ціле число, якщо воно закінчується десятковими цифрами, 16
то змініть 6
на a 7
і виведіть результат; в іншому випадку виведіть вхід без змін. Ви можете використовувати рядки для введення / виводу, якщо бажано.
Приклади:
2016 -> 2017
16 -> 17
116 -> 117
1616 -> 1617
6 -> 6
15 -> 15
17 -> 17
106 -> 106
2106 -> 2106
Оцінка = 74 - тривалість програми (краща програма краща)
4. Loopability
Мова, яка не може робити циклів, породжує повторюваний код настільки стомлюючим, що вам потрібно зробити перерву в програмі на деякий час.
Враховуючи додатне ціле число, виведіть ASCII-квадрат із такою довжиною сторони, заповнений малюнком концентричних менших квадратів, який чергується з будь-якими двома окремими символами для друку ASCII . Вони не повинні бути однаковими двома символами для різних входів.
Наприклад:
1 <- input
X <- output
2
XX
XX
3
XXX
X-X
XXX
4
XXXX
X--X
X--X
XXXX
5
YYYYY
Y...Y
Y.Y.Y
Y...Y
YYYYY
6
XXXXXX
X----X
X-XX-X
X-XX-X
X----X
XXXXXX
7
ZZZZZZZ
Z-----Z
Z-ZZZ-Z
Z-Z-Z-Z
Z-ZZZ-Z
Z-----Z
ZZZZZZZ
Оцінка = 74 - тривалість програми (краща програма краща)
5. Математика
Мова, яка не підходить для чисел та математики, також може бути для гуманітарних спеціальностей.
Не приймайте жодних даних, але виведіть 72 цілі дільники 2016 року , додатні та негативні, у будь-якому порядку. Вихід може бути відформатований у вигляді рядка або списку розумним чином.
Приклад:
-1, -2, -3, -4, -6, -7, -8, -9, -12, -14, -16, -18, -21, -24, -28, -32, -36, -42, -48, -56, -63, -72, -84, -96, -112, -126, -144, -168, -224, -252, -288, -336, -504, -672, -1008, -2016, 1, 2, 3, 4, 6, 7, 8, 9, 12, 14, 16, 18, 21, 24, 28, 32, 36, 42, 48, 56, 63, 72, 84, 96, 112, 126, 144, 168, 224, 252, 288, 336, 504, 672, 1008, 2016
Оцінка = 74 - тривалість програми (краща програма краща)
6. Езотерика
(Ні, не це .) Ми в PPCG любимо наші езотеричні речі , і лайки є хорошим прикладом цього.
Напишіть найдовшу квітку, яку ви можете, згідно з звичайними правилами квине . Quine - це програма, яка не бере ніяких даних і не видає себе.
Оцінка = тривалість програми (довша програма краще)
Конкретні правила
- У кожному з 6 викликів ваша програма повинна бути підмножиною із 74 символів часової капсули, переставлених будь-яким способом. Це може бути порожній підмножина або неналежна підмножина , тому кожна з ваших програм може містити як 0, так і цілих 74 символи.
- Єдиний кінцевий новий рядок в кінці вводу / виводу / коду добре в будь-якому місці, оскільки деякі мови цього вимагають, або його неможливо легко уникнути.
- Якщо не вказано інше, кожен виклик може бути виконаний як функція або повна програма відповідно до наших за замовчуванням .
- Усі завдання повинні бути виконані однією мовою.
- Ви повинні використовувати мову (або версію мови), виготовлену до 2017 року в будь-якій точці Землі .
- Будь-хто може відповісти, додали ви символу в капсулу часу чи ні.
Сміливо використовуйте символи капсули часу 2016 у власних завданнях.
6×74 or 444
це неможливо, оскільки це означатиме порожні програми, які якось поводяться інакше. отже, 442 - це фактичний мінімум, оскільки це означає, що дві програми з 3-х вхідних даних мають в собі знак