Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Длина числа в другой системе счисления


Автор: Sergey_Zhuravlev 15.12.2006, 20:13
Есть такая задача:

Дано число в системе счисления с известным основанием N. Оно содержит M разрядов. Сколько (максимально) разрядов будет содержать это число после перевода в систему с другим основанием Z. Ответ нужно дать исходя только из N, M, Z - т.е. без фактического перевода.

Возможно ли её решить и если возможно, то как?

Автор: skyboy 15.12.2006, 20:25
исходить из того, что количество разрядов в числе Х в системе счисления с основанием У == trunc(ln(X) / ln(Y)) + 1.
или можно исходить из того, что (максимальное число из M разрядов в системе с основанием N) == N ^ (M - 1). И определив число разрядов этого "максимального" числа, получим количество разрядов в системе Z:
X = trunc(ln(N ^ (M - 1)) / ln(Z)) + 1 === trunc((M - 1) * ln(N) / ln(Z)) + 1.
Вроде, так. Но проверить времени нет :9

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)