IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> В какой системе счисления находится число
Гость_Антон
сообщение 25.11.2004 11:03
Сообщение #1


Гость






Даны натуральные числа n, m, неотрицательные целые числа am, am-1..a0 такие, что amam-1..a0- запись n в некоторой системе счисления (среди аm могут быть и числа, большие девяти, - это будет означать, что основание системы счисления заведомо больше десяти). Требуется определить основание использованной системы счисления.

Хотябы с чего начать подскажите.

javascript:emoticon(':huh:')
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов(1 - 7)
volvo
сообщение 25.11.2004 11:21
Сообщение #2


Гость






Гость_Антон
Начни с того, что найди среди чисел A[i] максимальное; это максимальное число, увеличенное на 1, и будет минимальным основанием системы счисления...

(Почему минимальным? Пример: в какой системе счисления записано число 12456? В 7-ой? 8-ой? 10-ой? Можно точно сказать лишь одно: основание с/с больше 6, т.к. максимальная цифра в записи числа = 6)
 К началу страницы 
+ Ответить 
Guest
сообщение 25.11.2004 11:25
Сообщение #3


Гость






а число 1010111100101 не обьязательно двоичное!
 К началу страницы 
+ Ответить 
volvo
сообщение 25.11.2004 11:28
Сообщение #4


Гость






Guest
читать умеешь?
Цитата
максимальное число, увеличенное на 1, и будет минимальным основанием системы счисления..
 К началу страницы 
+ Ответить 
xds
сообщение 25.11.2004 11:31
Сообщение #5


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


В основе любого решения этой задачи будет лежать (прямо или косвенно) следующий факт:

n = a[m] * b^m + a[m - 1] * b^(m - 1) + ... + a[0] * 1,
где b - основание системы счисления.

Переформулируем условие: для данных неотрицателных целых чисел a[0], a[1], ..., a[m] и натурального числа n найти такое натуральное число b, что указанное выше равенство превратится в тождество.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 25.11.2004 11:36
Сообщение #6


Гость






Зто подбором чтоли

типо от 2 до 26 подставлять в

a[m] * b^m + a[m - 1] * b^(m - 1) + ... + a[0] * 1

вместо b и сравнивать с n
 К началу страницы 
+ Ответить 
volvo
сообщение 25.11.2004 12:04
Сообщение #7


Гость






Guest
Не надо от 2-х до 26 (кстати, почему именно до 26? Уж не по количеству ли букв в латинском алфавите?). Я же показал, как сократить диапазон вычислений: сначала находишь минимально возможное основание с/с, а потом уже по формуле, предложенной xds от этого самого числа до 26.
 К началу страницы 
+ Ответить 
Гость_Антон
сообщение 25.11.2004 13:31
Сообщение #8


Гость






в "худшем" случае от 2 до 9+26

{2345678910ABCDEFGHIJKLMNOPQURSUVWXYZ}

При нахождении минимального основания,
от него до 36,потом ещё какой-то case нада делать для преобразования буквы в число в 10-й сс. или спец формулу применить типа, ord(a)- там, по таблице не помню, 90, чтоль, короче, я еще загляну!
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 13:08
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"