С Новым годом! Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 2
Регистрация: 13.04.2017
Сообщений: 282
1

Есть ли вариант решения задачи кроме перебора?

29.12.2019, 05:03. Показов 740. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Ломаю голову над, возможно лёгкой, задачей. Я боюсь, что её можно решить лишь тупым перебором, но не исключаю того, что она имеет нормальное математическое решение. Задача следующая.

Входные данные
В каждой строке входных данных будет задано одну пару чисел X и Y, которые разделены как минимум одним пробелом, причём пробелы могут в каждой строке находится и до и после пары чисел и эти пробелы должны быть проигнорированы. Системы счисления для X и Y находятся в пределах от 1 до 36 (включительно), и как уже было сказано выше не должны быть равны для заданных X и Y. В представлении чисел используются десятичные цифры от 0 до 9 а также большие латинские буквы от A до Z для представления цифр имеющих значение от 10 до 35.

Выходные данные
Для каждой пары чисел выведите соответствующее сообщение о равенстве этих чисел в соответствующих системах счисления, как это показано в примерах выходных данных. В случае невозможности нахождения систем счисления, в которых эти выражения обозначают соответствующее одинаковое привычное десятичное число, также выведите сообщение об этом, как это показано в примере выходных данных.

Пример
Входные данные #1 | Выходные данные #1
12 5 | 12 (base 3) = 5 (base 6)
10 A | 10 (base 10) = A (base 11)
12 34 | 12 (base 17) = 34 (base 5)
123 456 | 123 is not equal to 456 in any base 2..36
1 2 | 1 is not equal to 2 in any base 2..36
10 2 | 10 (base 2) = 2 (base 3)

Если у вас есть идеи, то прошу поделиться!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2019, 05:03
Ответы с готовыми решениями:

Есть ли короткий путь решения задачи?
Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны. ...

Есть ли лучшая альтернатива решения задачи?
Есть строка формата : 005555,0 ,000000,000,09,22204545000 ,33363837355 ...

Прошу предложить лучший вариант перебора массива
Всем доброго дня, такой вопросик. есть массив int array = { 1, 2, 3, 4, 5, 6, 7 }; ...

Есть ли какой паттерн для решения подобной задачи?
у меня есть абстрактный класс, для фигур. он имеет метод для записи в файл, который переопределяет...

6
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,037
29.12.2019, 14:00 2
перебор с отсечениями
сами цифры чисел - очевидно что перебор систем счисления нужно начинать с той которая "поддерживает" наибольшую цифру в числе
длинна чисел - очевидно что система счисления у числа с меньшим количеством цифр - будет больше.
при равенстве количества цифр - очевидно что система счисления будет больше у того числа, которое использует более маленькие цифры

Добавлено через 14 минут
Еще такая мысль.
Сравнивать цифры которые стоят слева
т.е. если есть числа
342 и 15
тут очевидно что у второго числа система счисления больше, поэтому сравниваем
(3+1)*A^2 и 1*B^1
если первое меньше второго - то пара систем систем счисления (А, B) точно не является ответом и можно переходить на следующий шаг.

Добавлено через 8 минут
Если нельзя определить где система счисления больше - то данный метод не применим.
0
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
31.12.2019, 20:42 3
Цитата Сообщение от wingblack Посмотреть сообщение
Если нельзя определить где система счисления больше
Простите, не понял, в каких случаях нельзя определить, какая система больше?
User255, Тут перебор занимает не более 36*36 = 1296 (в худшем случае), то есть весьма невелик.Так что встает вопрос - а стоит? Хотя все соображения уважаемого wingblack вполне разумны.

Всех с наступающим Новым Годом!
0
4 / 4 / 2
Регистрация: 13.04.2017
Сообщений: 282
31.12.2019, 20:49  [ТС] 4
Байт, понятно. И вот уже второй год подряд мы поздравляем друг друга с Новым Годом) Так что да, С Новым Годом!
0
1017 / 1905 / 178
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
31.12.2019, 21:10 5
Цитата Сообщение от User255 Посмотреть сообщение
10 A | 10 (base 10) = A (base 11)
А разве не A (base 16) ?
0
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
31.12.2019, 21:15 6
Цитата Сообщение от vantfiles Посмотреть сообщение
А разве не A (base 16) ?
Как я понял, ищется наименьшее основание. А оно-таки 11
0
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,037
02.01.2020, 23:42 7
Цитата Сообщение от Байт Посмотреть сообщение
Простите, не понял, в каких случаях нельзя определить, какая система больше?
Ну в принципе да, при равенстве количества цифр - поочередно проверяя цифры начиная слева можно сказать где именно цифра больше.
0
02.01.2020, 23:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2020, 23:42
Помогаю со студенческими работами здесь

Есть ли более простой и оптимальный способ решения данной задачи?
Добрый день! Ситуация следующая: Есть класс Event. public class Event { public string...

Сделать алгоритм решения задачи (описание), есть программа и блок схема
Program abc; var a:array of integer; i,temp,change:integer; begin randomize; writeln(‘исходный...

Нужны задачи и их решения по темам "Метод полного перебора" и "Метод Greedy"
Нужны задачи и их решения по темам "Метод полного перебора" и "Метод Greedy"

Можно ли определить взаимо простые числа, как-то кроме перебора циклами?
на плюсах можно определить взаимо простые числа, както кроме перебора цыклами? потому что с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru