Задоволений надійністю флеш-пам’яті, ви вирішили зберігати всі свої програми на одній із тих старих хороших дискетів на 1440 KiB. Однак, скопіювавши навіть 3000 програм, диск був заповнений. Як це навіть можливо? Коли ви є вмілими в мистецтві кодового гольфу, більшість ваших програм не мають навіть 100 байт, тому має бути багато місця ...
Запитавши про це у Super User, ви виявите, що ви помилилися за розміром кластера файлової системи , злим сюжетом дизайнерів FAT12, який залишає значну частину вашої дискети невикористаною і змушує купувати більше, ніж вам потрібно.
Купуєте більше дискети? Ніколи! Розмір кластера буде меншим питанням, якщо ми просто збережемо кілька програм в одному файлі, що можливо, тому що різні компілятори / інтерпретатори поводяться по-різному для одного і того ж вихідного коду.
Завдання
Напишіть поліглот, який вписується в один кластер (512 байт або менше) і вирішує якомога більше таких завдань.
Прочитайте всі матеріали та надрукуйте їх.
Друк Привіт, світ! .
Прочитайте рядок / аргумент ( ім'я ) як введення та друк З днем народження, [ім'я]! .
Прочитайте всі вкладки та друк я люблю вкладки! якщо він містить один або більше таблиць (0x09), і я ненавиджу пробіли! якщо цього немає.
Прочитайте два рядки / аргументи та надрукуйте триєдне значення, якщо другий є підрядком першого, а помилковим - якщо ні.
Прочитайте рядок / аргумент і надрукуйте триєдне значення, якщо його символи знаходяться у строго зростаючому порядку, а помилкове значення - якщо ні.
Прочитайте рядок / аргумент та символ та надрукуйте покажчики всіх подій цього символу.
Прочитайте рядок / аргумент і надрукуйте будь-який із символів з найбільшою кількістю подій.
Прочитайте два цілих числа між 0 і 255 і надрукуйте їх суму.
Прочитайте одне ціле число між 0 і 255 і надрукуйте коефіцієнт і залишок його ділення на 7 .
Прочитайте одне ціле число між 1 і 255 і надрукуйте триєдине значення, якщо це складене число (ні 1, ні просте) і помилкове значення, якщо ні.
Прочитайте одне ціле число між 1 і 255 і надрукуйте триєдне значення, якщо це потужність 2, а помилкове значення - якщо ні.
Прочитайте два цілих числа між 0 і 255 і надрукуйте більші.
Прочитайте десятичне ціле число від 0 до 255, роздрукуйте його шістнадцяткове представлення.
Прочитайте одне ціле число між 0 і 255 і надрукуйте його вагу Хеммінга (кількість 1-біт).
Зчитує одне ціле число п між 1 і 13 і роздрукувати F п , то п - е числа Фібоначчі .
Наприклад, для введення
13
, друку233
.
Прочитайте рядок / аргумент введення та кадруйте його.
Наприклад, для вводу
Programming Puzzles & Code Golf
надрукуйте це:+---------------------------------+ | Programming Puzzles & Code Golf | +---------------------------------+
Прочитайте прямокутний блок символів і обертайте його на чверть обороту за годинниковою стрілкою.
Наприклад, для введення
tye xll epb tma id sa s e i r hsn Tiu
надрукувати це:
This text is simply unreadable
Прочитайте ціле число від 1 до 40 і надрукуйте ромб тієї довжини сторони.
Наприклад, для вводу
3
надрукуйте це:/\ / \ / \ \ / \ / \/
Роздрукуйте це:
....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@....
Оцінка балів
Виграна відповідь, що вдається об'єднати найбільшу кількість програм у одному файлі, який вміщує один кластер у 512 байт. Краватки розбиваються на кількість байтів (краще нижче).
Додаткові правила
Для кожного завдання, яке ви претендуєте на свій рахунок, той самий файл (байт на байт) повинен складати повну програму - мовою, яку ви обрали - яка вирішує цю конкретну задачу.
Кожне завдання має бути вирішено іншою мовою.
Мови вважаються різними, якщо вони не є різними версіями однієї мови. Наприклад, є лише один JavaScript, один Python і один TI-BASIC, але C, C ++, Octave і MATLAB - це чотири різні мови.
Вибрана мова для кожного завдання повинна відповідати нашому звичайному визначенню мови програмування .
Крім того, мова повинна бути опублікована та впроваджена до 9 вересня 2015 року.
Ваш компілятор / перекладач може не вимагати будь-яких нестандартних прапорів для отримання очікуваної поведінки.
Винятки з цього правила включають прапори, необхідні для вказівки певної мови, для читання програми з (одного) файлу або придушення банера.
Вхід для кожного завдання буде складатися з друкованих символів ASCII (0x20 до 0x7E) та лінійних каналів (0x0A), і не перевищуватиме 255 байт у довжину.
Усі цілі числа можна читати в десяткових або одинарних формах, якщо в задачі не вказано інше.
Поведінка неправильного введення не визначена.
Ви можете читати дані зі STDIN (або найближчої альтернативи) або як аргументи командного рядка.
Якщо завдання вимагає зчитування двох фрагментів вводу, ви можете їх прочитати - у будь-якому порядку - розділити однобайтовим роздільником, який ви обрали, як окремі аргументи командного рядка або один від STDIN, а інший як аргумент командного рядка.
Якщо однією з вхідних частин є лінія, єдиний можливий роздільник - це передача ліній.
Роздрукуйте висновок до STDOUT (або найближчої альтернативи). Весь вихід на STDERR буде ігнорований.
Для кожного завдання застосовуються стандартні правила коду-гольфу .
Зокрема, це включає пропуски, заборонені за замовчуванням , за винятком жорсткого кодування виводу , що явно дозволено для цього виклику.
2>/dev/null
і отримуємо правильний вихід до stdout, це нормально? Просто для впевненості.