Цель
Идея состоит в том, чтобы предоставить код, необходимый для отображения 32-разрядного целого числа в / из произносимого слова максимум из 9 символов. Это может быть полезно, например, для облегчения запоминания серийного номера или ввода формы.
Требуется как способ перевода целого числа в соответствующее слово, так и обратного перевода слова в соответствующее целое число.
правила
Между целыми числами и словами должно быть взаимно-однозначное соответствие, и весь набор 32-разрядных целых чисел (или, другими словами, любое целое число от 0 до 4294967295) должен быть отображаемым. Хотя, очевидно, не все слова будут значимыми, и ввод слов, которые не отображаются в целое число, может иметь неопределенное поведение.
Вы можете сами выбирать, какой именно набор «произнесенных» слов имеет смысл, и как выполняется сопоставление, но слова должны, по крайней мере, следовать этим правилам:
- Только основные 26 букв (A ... Z) должны использоваться в качестве символов. Акценты, корпус и т. Д. Не должны использоваться для расширения возможных комбинаций.
- Максимум 9 символов на слово.
- две согласные (BCDFGHJKLMNPQRSTVWXZ - 20 возможностей) не должны быть расположены рядом друг с другом (они должны быть окружены гласными).
- две гласные (AEIOUY - 6 вариантов) не должны находиться рядом друг с другом (они должны быть окружены согласными).
Примечание. Самая простая схема, в которой все слова построены как CVCVCVCVC
( C
будучи согласным и V
гласным), дает 4147200000 комбинаций, а 32-разрядное целое число имеет 4294967296 возможных значений, поэтому этого недостаточно. Вам необходимо увеличить количество комбинаций, либо добавив более короткие слова, либо добавив также VCVCVCVCV
комбинации.
Применяются другие стандартные правила, а стандартные лазейки запрещены.
Входы / выходы
Для каждого представления должны быть предоставлены две части кода:
- Тот, который принимает целое число в качестве аргумента / ввода и возвращает / печатает соответствующее слово
- Тот, который принимает слово в качестве аргумента / ввода и возвращает / печатает соответствующее целое число
Кроме того, вы можете отправить один фрагмент кода, который обрабатывает обе операции:
- Когда в качестве входных данных задано целое число, оно выводит соответствующее слово
- Когда в качестве входных данных приводится строка, она выводит соответствующее целое число
Выигрышное условие
Это код-гольф , ответ, который имеет наименьшее количество байтов (при суммировании обоих фрагментов кода для решений, выбирающих отдельные фрагменты кода), выигрывает.