Каждый знает, как преобразовать число из десятичной системы в двоичную. Я тоже Все также знают, как преобразовать десятичную систему в основную систему из трех.
Однако у меня есть проблема, когда мне нужно преобразовать десятичное число в "странную базу 3", где один символ не может быть первым и должен быть окружен оставшимися двумя. Таким образом, один символ не может быть повторен до того, как будет использован один из двух других.
Итак, если «0» - это символ, который не может быть первым и не может повторяться:
совершенно законные номера: 120, 110202, 1020
номеров, которые не должны существовать:
01212 (ноль не должен быть впереди), 120012 (нули не могут повторяться)
Может кто-нибудь, пожалуйста, помогите придумать алгоритм, который преобразует десятичную систему в эту "странную базу 3" и обратно.
Заранее спасибо