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

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

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

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

Входные данные
В каждой строке входных данных будет задано одну пару чисел 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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2019, 05:03
Ответы с готовыми решениями:

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

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

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

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

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

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

Всех с наступающим Новым Годом!
0
4 / 4 / 2
Регистрация: 13.04.2017
Сообщений: 282
31.12.2019, 20:49  [ТС]
Байт, понятно. И вот уже второй год подряд мы поздравляем друг друга с Новым Годом) Так что да, С Новым Годом!
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
31.12.2019, 21:10
Цитата Сообщение от User255 Посмотреть сообщение
10 A | 10 (base 10) = A (base 11)
А разве не A (base 16) ?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.12.2019, 21:15
Цитата Сообщение от vantfiles Посмотреть сообщение
А разве не A (base 16) ?
Как я понял, ищется наименьшее основание. А оно-таки 11
0
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,038
02.01.2020, 23:42
Цитата Сообщение от Байт Посмотреть сообщение
Простите, не понял, в каких случаях нельзя определить, какая система больше?
Ну в принципе да, при равенстве количества цифр - поочередно проверяя цифры начиная слева можно сказать где именно цифра больше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.01.2020, 23:42
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru