|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2017, 11:14 | #1 |
Пользователь
Регистрация: 21.12.2015
Сообщений: 38
|
Наименьшая система счисления
Помогите с задачей
Известно, что основанием позиционной системы счисления называют количество различных символов, используемых для записи чисел в данной системе счисления. Также известно, что любое число x в b-ичной системе счисления имеет следующий вид: x = a0*b0 + a1*b1 +...+ an*bn, где b ≥ 2 и 0 ≤ ai < b Для записи чисел в b-ичной системе счисления, где b ≤ 36, могут быть использованы первые b символов из следующего списка: 0, 1, …, 9, A, B, …, Z. Например для записи чисел в троичной системе счисления используются символы 0, 1, 2, а в двенадцатиричной — 0, 1, …, 9, A, B Требуется написать программу которая по входной строке S определит, является ли данная строка записью числа в системе счисления, с основанием не большим 36, и, если является, определит минимальное основание этой системы счисления. Формат входного файла Во входном файле содержится строка S. Формат выходного файла В выходном файле должно содержаться единственное число: −1 — если строка S не может быть представлена как число в какой-либо системе счисления, с основанием не большим 36 Наименьшее основание системы счисления в которой строка S является записью числа — в противном случае Ограничения Длина строки S не превосходит 255 символов Коды символов во входном файле лежат в диапазоне от 32 до 127 включительно Вот код моей программы Код:
Отправляю программу на проверку - пишет ошибка выполнения Что не так? |
23.06.2017, 11:29 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
код написан плохо.
ну, например, подумайте, что будет, если будет пустая строка? чему будет равно k и что будет, если из max (кстати, будет или ошибка или там будет мусор) отнять 54, то возможно, Вы просто получите отрицательное значение в переменной типа byte. Это так, навскидку. p.s. если речь идёт про acmp.ru, то удобнее не объявлять f:text, а использовать стандартные типы input, output (см. тут) Код:
|
23.06.2017, 11:37 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Не сказано, что строка во входном не может быть пустой. Чего не проверяешь? И одни нули во входном - это двоичная, а у тебя -1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Система счисления | ArchiCurtis | Помощь студентам | 10 | 07.04.2012 13:14 |
Система счисления | medic357 | Помощь студентам | 2 | 29.09.2010 17:05 |
Система счисления | artemavd | Общие вопросы Delphi | 10 | 04.07.2010 19:00 |
Система счисления | Alex_sim | Microsoft Office Excel | 4 | 20.04.2010 14:04 |
система счисления с 2 в 16 | never smile | Помощь студентам | 0 | 19.03.2010 16:30 |