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

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

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

 
Closed Topic Открыть новую тему 
> В какой системе счисления находится число
сообщение
Сообщение #1


Гость






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

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

javascript:emoticon(':huh:')
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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

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


Гость






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


Гость






Guest
читать умеешь?
Цитата
максимальное число, увеличенное на 1, и будет минимальным основанием системы счисления..
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






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

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

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

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


Гость






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


Гость






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

{2345678910ABCDEFGHIJKLMNOPQURSUVWXYZ}

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

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

 





- Текстовая версия 11.01.2025 21:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name