Код-Bowling
Brunswick Bowling наняла вас для создания простой программы для вывода текста Code Bowling
на мониторы. Эта компания стоит немалых денег, и вы чувствуете, что можете обмануть их за небольшие деньги.
В должностной инструкции четко сказано, что они платят на основе начисления очков, и вы вполне уверены, что можете использовать их систему начисления очков в свою пользу и получить от этих парней максимально возможный чек. Для этого вам потребуется собрать как можно больше кода в свою программу / функцию, даже если их система подсчета очков предназначена для предотвращения этого.
Убери свои копилки, давай закодируй!
Вызов
Задача состоит в том, чтобы просто вывести текст Code Bowling
, в точности так, как он написан здесь, с максимально возможной оценкой. (Смотрите раздел: Система подсчета очков ниже)
Начальные и конечные новые строки (переводы строк) допустимы.
Ваш код может быть целой программой или просто исполняемой функцией.
правила
Обязательный: в этом задании используется код-боулинг: общие правила, редакция 1.0.0 ; Смотрите Meta для деталей.
Характер: соотношение байтов.
В коде-боулинге число символов предпочтительнее, чем число байтов. Очевидная причина этого заключается в том, что многобайтовые символы Юникода (например, 🁴) могут использоваться вместо однобайтовых символов Юникода для увеличения количества байтов и сделают боулинг больше о том, кто переименовывает большинство переменных с высокобайтовыми символами Юникода, а не чем тот, кто наиболее стратегически создает значимый сложный код.Имена переменных / функций / объектов
Все имена переменных (или указатели объектов, имена функций и т. Д.) Должны быть длиной в 1 символ. Единственное приемлемое время для использования двухсимвольных имен переменных - это после того, как все возможные односимвольные переменные были использованы. Единственное приемлемое время для использования имен 3-символьных переменных - это после того, как были использованы все возможные 2-символьные переменные. И т.п.Неиспользованный код
Весь код должен быть использован. Это означает, что программа не всегда может правильно выполнить задачу, если какой-либо отдельный символ (или различные наборы символов) удалены. Естественно, подмножество программы не должно быть в состоянии выполнить задачу самостоятельно без остальной части программы.Комментарии
Комментарии не допускаются к подсчету символов, если они не используются вашей программой / функцией.
Система баллов:
Pangram Challenge:
Панграмма - это предложение, которое использует каждую букву хотя бы один раз. (Быстрая коричневая лиса прыгает через ленивую собаку).
В этом типе испытаний предусмотрены системы подсчета очков, в которых совершенная панграмма набирает теоретический максимальный балл (хотя вы не обязаны использовать каждый символ хотя бы один раз). Кроме того, использование любого символа более одного раза приведет к штрафу. Эта задача также распространяется не только на буквы алфавита.
Метрика оценки:
- Каждый используемый персонаж увеличивает ваш счет на 1.
- Повторное использование любого буквенно-цифрового символа (az, AZ, 0-9) приведет к вычету 3 балла за повтор (первое использование не приводит к вычету).
- Повторное использование основных знаков препинания
([!?.-,":';])
- включая скобки - приведет к вычету 2 баллов за повтор.- Повторное использование других символов ASCII
{`~@#$%^&*_+=|\/><}
- включая фигурные скобки - приведет к вычету 4 балла за повтор.- Использование пробелов, табуляции и переносов приведет к вычету 1 балла за использование. То есть они не учитываются в сумме символов.
- Персонажи, не упомянутые выше (экзотические персонажи) , дают вычет 1 очко за использование. То есть они не учитываются в сумме символов.
Инструмент для подсчета очков:
Создан автоматический виджет скоринга, который можно найти здесь .
Это вариант кода для боулинга . Программа с самым высоким счетом выигрывает! (Поскольку существует максимальный балл 94
, тот, кто достигнет его первым (если он может быть достигнут), будет отмечен как принятый ответ, хотя другие могут свободно отвечать ради интереса)