| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Длина числа в другой системе счисления |
| Автор: 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 |