Один з найпростіших кодів, написаний мовою програмування, - це послідовність друку програм із символів (наприклад, "Привіт, світ!"). Тим НЕ менше, S про м е е з про т е р я з мов програмування , як Brainfuck , навіть цей простий код дуже дратує писати.
Ваше завдання - написати програму (не обов'язково писати мозком), яка друкує (мінімальну довжину) програму Brainfuck, друкуючи даний текст.
Вхідні дані
Послідовність символів (між 1і 255) задається у будь-якому форматі (змінна, аргумент, stdin, файл, ...).
Вихід
Вихід - це дійсний (невідповідний [і ]) код, що не відповідає (припустимо, непідписаний 8-бітний огортаючий осередок та необмежена кількість комірок зліва та справа), друкуючи точний рядок, який був заданий як введення.
Наприклад, один можливий вихід для введення A- це ++++++++[<++++++++>-]<+..
Програма не повинна забирати багато часу ( >2m).
Програма BF не повинна тривати багато часу ( >10s).
Оцінка балів
(Зверніть увагу: поточний метод підрахунку може змінитися, оскільки його непросто обчислити ...)
Тривалість програми (генерування коду BF) сама по собі не має значення. Однак жорстке кодування BF-кодів у програмному коді не в порядку. Тільки прийнятний діапазон (наприклад , БФ код друку одного символу. 0x01: +.) З BF - кодів може бути жорстко закодовані.
Оцінка - це сума довжини BF-кодів, що друкують ці рядки.
- Рядок,
Hello, world!доданий до одного0x0A(\n) (тобто програми "Привіт, світ!") - Одиночний символ від
0x01~0xFF- Сума довжини цих 255 кодів BF множиться на
1/16, округлюється та додається до оцінки.
- Сума довжини цих 255 кодів BF множиться на
- Список перших 16 рядків, породжених розщепленням випадкової послідовності байт , вироблену на 11-11-11 шляхом
0x00, видаливши всі рядки нульової довжини. - Lenna.png , видаляючи всі
0x00s. - Тексти пісні 99 пляшок пива , починаючи з нових
99 bottles~рядків0x0A, пункти розділені двома0x0As, а в кінці немає символу newline. - Інші рядки, які ви можете надати.
Ваша програма може включати в себе підрахунок балів.
Звичайно, переможець буде найнижчим кодом.
Lenna.pngбуде домінувати над оцінкою, оскільки це, безумовно, найбільший внесок. Може, нормалізувати трохи за розміром?