У мові програмування за вашим вибором, написати 95 програм, кожен з яких виходів інші один з 95 друкованих символів ASCII без цього символу , що відбувається в будь-якому місці програми .
Наприклад, якщо вашою мовою був Python , P
може бути вашою програмою, яка виводить символ
print(chr(80))
тому що P
має код ASCII 80. Ця програма діє, оскільки P
ніколи не відображається у вихідному коді. Однак для програми, яка виводить малі регістри p
, щось подібне
print(chr(112))
було б недійсним, оскільки, хоч воно друкує p
, p
присутнє в коді. Дійсною може бути програма
exec(chr(112)+'rint(chr(112))')
який друкує, p
але не містить p
.
Ваша мета - зробити кожну з ваших 95 програм якомога коротшою. Ваш бал - це сума символів усіх ваших програм.
Якщо з будь-якої причини ви не в змозі написати дійсні програми для деяких символів, ви можете позначити ці символи як "Не програмував" або " DNP" і опустити програми для них повністю. Таким чином синтаксично суворі мови зможуть конкурувати.
Відповідна перемога - це відповідь, яка має найнижчий бал із набору відповідей, які мають найменшу кількість ДНП.
Правила
Вихідний код усіх ваших програм може містити тільки друкований ASCII плюс вкладки та нові рядки, всі вони рахуються як один символ. (Тому що в іншому кодуванні було б легко опустити символи, яких не існує!)
- Примітка: Це правило видається необхідним, але є багато мов з різними кодуваннями, і я впевнений, що було б здорово переглянути відповіді на них. Тому ви можете порушити це правило , ви можете використовувати будь-які символи, які ви хочете, але тоді ваша відповідь стає неконкурентоспроможною , вона не може перемогти.
Програми повинні бути дійсними, повноцінними програмами відповідно до стандартних положень вашої мови. Функції та фрагменти REPL не дозволяються.
Вихід кожної програми повинен переходити до stdout або альтернативи вашої мови.
Програми не повинні вимагати введення або вимагати введення. (Якщо запит на введення притаманний вашій мові, це нормально.)
Програми повинні бути детермінованими, обмеженими під час виконання та незалежними. наприклад, це не має значення, якщо один запускається в папці, окремо від інших програм.
Вихід програми повинен бути точним символом ASCII для друку, якому він відповідає, за бажанням повинен слідувати один зворотний новий рядок, нічого більше, нічого менше.
Не забудьте включити у відповідь інформацію про всі 95 (в ідеалі) програм, а також ваш бал та будь-які результати ДНП. Вам не потрібно перераховувати всі програми , які слідують простому шаблоном , як « , ...» , але переконайтеся , що ви будете впевнені , що всі вони будуть працювати , і що ваш рахунок правильно доданий.print(chr(80))
print(chr(81))
print(chr(82))
Для довідки, ось 95 друкованих ASCII, які повинні видавати ваші програми:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
0