Призначення
Ідея полягає в наданні коду, необхідного для відображення 32-бітного цілого числа на / з вимовляючого слова максимум 9 символів. Це може бути корисно, наприклад, щоб спростити запам’ятовувати серійний номер або набрати форму.
Потрібен як метод переведення цілого числа на відповідне слово, так і для переведення назад слова у відповідне ціле число.
Правила
Повинно бути чітке відображення між цілими числами та словами, і весь набір 32-бітових цілих чисел (або, кажучи іншим чином, будь-яке ціле число від 0 до 4294967295) має бути відображеним. Хоча, очевидно, не всі слова будуть значущими, і введення слів, які не відображають ціле число, може мати не визначене поведінку.
Ви можете вирішити, який саме набір "вимовляючих" слів має значення, і як робиться відображення, але слова повинні відповідати принаймні цим правилам:
- В якості символів слід використовувати лише основні 26 літер (A ... Z). Акценти, кожухи тощо ... не слід використовувати для розширення можливих комбінацій.
- Максимум 9 символів за кожне слово.
- два приголосні (BCDFGHJKLMNPQRSTVWXZ - 20 можливостей) не повинні розташовуватися поруч (вони повинні бути оточені голосними голосами).
- два голосні (AEIOUY - 6 можливостей) не повинні ставитись поруч (вони повинні бути оточені приголосними).
Зауважте: найпростіша схема, у якій усі слова побудовані як CVCVCVCVC( Cяк приголосний і Vголосний), дає 4147200000 комбінацій, а 32-бітове ціле число має 4294967296 можливих значень, тому його недостатньо. Вам потрібно розширити кількість комбінацій, або шляхом дозволу коротших слів, або шляхом дозволу VCVCVCVCVкомбінацій.
Діють інші стандартні правила, а стандартні лазівки заборонені.
Входи / виходи
Для кожного подання необхідно надати два фрагменти коду:
- Таке, яке приймає ціле число як аргумент / вхід і повертає / друкує відповідне слово
- Та, яка приймає слово як аргумент / вхід і повертає / друкує відповідне ціле число
Можна також подати єдиний фрагмент коду, який обробляє обидві операції:
- Якщо вводиться ціле число як вхідне, воно виводить відповідне слово
- Якщо дано рядок як вхід, він виводить відповідне ціле число
Умова виграшу
Це код-гольф , відповідь на який має найменше байтів (при підсумовуванні обох фрагментів коду, для рішень, які вибирають окремі частини коду) виграє.