Тема 14. Системы счисления

14.02 Поиск цифр(-ы) числа

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела системы счисления
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#60030

Какая максимальная сумма цифр может получиться в девятиричной записи числа

35x76x31 − 11y4y17

если вместо x и y может стоять ровно 1 цифра, x и y не могут быть одинаковыми.

Показать ответ и решение

В задаче даны два числа в различных системах счисления: уменьшаемое 35x76x31  и вычитаемое 11y4y17  . Переменные x и y обозначают неизвестные цифры в соответствующих системах счисления, причём каждая из них может принимать любое допустимое для своей системы значение, но при этом x и y не могут быть равны. Нам требуется найти такую комбинацию этих цифр, при которой сумма цифр результата вычитания, записанного в девятиричной системе счисления, будет максимальной. Алгоритм начинается с того, что мы создаём переменную mx, которая будет хранить найденное на текущий момент максимальное значение суммы цифр. Далее мы перебираем все возможные значения x с помощью цикла for x in range(31), так как в 31-ричной системе счисления цифры могут принимать значения от 0 до 30 включительно. Для каждого значения x мы запускаем вложенный цикл for y in range(17), перебирающий все возможные значения y от 0 до 16 включительно, так как y находится в числе в 17-ричной системе. Перед выполнением вычислений мы проверяем условие if x != y, чтобы исключить варианты, когда цифры x и y совпадают.

Далее мы переводим каждое число из своей системы счисления в десятичную. Для 35x76x31  это делается разложением числа по степеням 31  : s1 = 3× 315 + 5 ×314 + x× 313 + 7× 312 +6 × 31+ x  . Аналогично переводим 11y4y17  в десятичную систему:       4    3        2
s2 = 17 +17  + y× 17 + 4× 17 +y  . После этого находим разность этих чисел: s = s1 - s2. Теперь нам нужно вычислить сумму цифр этого результата в девятиричной системе счисления. Для этого мы создаём переменную d = 0 и запускаем цикл while s > 0, где на каждой итерации прибавляем к d последнюю цифру числа в девятиричной записи, полученную как s % 9, а затем удаляем эту цифру, выполняя целочисленное деление s = s // 9. Когда сумма цифр вычислена, мы сравниваем её с текущим максимальным значением mx и при необходимости обновляем mx, используя mx = max(d, mx). После перебора всех возможных пар значений x и y в mx будет храниться максимальная возможная сумма цифр, которую мы выводим с помощью print(mx).

mx = 0
# Изначально максимальная сумма цифр равна 0
# Перебираем все возможные значения x в 31-ричной системе счисления (от 0 до 30)
for x in range(31):
    # Перебираем все возможные значения y в 17-ричной системе счисления (от 0 до 16)
    for y in range(17):
        # Проверяем, что x и y не равны
        if x != y:
            # Переводим уменьшаемое $35x76x_{31}$ в десятичную систему
            s1 = 3 * 31**5 + 5 * 31**4 + x * 31**3 + 7 * 31**2 + 6 * 31 + x
            # Переводим вычитаемое $11y4y_{17}$ в десятичную систему
            s2 = 17**4 + 17**3 + y * 17**2 + 4 * 17 + y
            # Находим разность двух чисел
            s = s1 - s2
            # Переменная для хранения суммы цифр в девятиричной записи
            d = 0
            # Вычисляем сумму цифр числа в девятиричной системе
            while s > 0:
                d += s % 9  # Прибавляем последнюю цифру (остаток от деления на 9)
                s = s // 9  # Убираем последнюю цифру (целочисленное деление на 9)
            # Обновляем максимальное найденное значение суммы цифр
            mx = max(d, mx)
# Выводим максимальную сумму цифр
print(mx)

Ответ: 51

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!