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

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

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

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

Задача 1#57102

Операнды арифметического выражения записаны в системе счисления с основанием 7.

1213x67 + 51x4317

В записи чисел переменной x  обозначена неизвестная цифра из алфавита 7-ричной системы счисления. Определите наименьшее значение x  , при котором значение данного арифметического выражения в десятичной системе счисления кратно 91. Для найденного значения x  вычислите частное от деления значения арифметического выражения на 91 и укажите его в ответе. Основание системы счисления в ответе указывать не нужно.

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

В этой задаче нам даны два числа в 7-ричной системе счисления с неизвестной цифрой x: 1213x67  и 51x4317  . Наша цель — определить наименьшее значение x, при котором сумма этих чисел кратна 91. Для этого мы создаём строку с символами алфавита 7-ричной системы "0123456"и перебираем каждый символ как возможное значение x. Для каждого x мы формируем полное число в виде строки: для первого числа соединяем ’1213’, текущий x и ’6’, а для второго — ’51’, текущий x и ’431’. С помощью функции int мы преобразуем эти строки в десятичные числа, указывая основание 7, чтобы корректно интерпретировать каждую цифру по степеням 7. После перевода чисел в десятичную систему мы суммируем их, получая s = s1 + s2. Далее проверяем, делится ли эта сумма на 91 с помощью условия if s % 91 == 0. Если делится, мы выводим частное от деления суммы на 91 через print(s // 91). Поскольку мы перебираем значения x начиная с наименьшего и сразу останавливаемся на первом подходящем, найденное значение x автоматически будет наименьшим, удовлетворяющим условию.

# Создаём строку с возможными цифрами 7-ричной системы счисления
alf = "0123456"

# Перебираем все возможные значения x из алфавита
for x in alf:
    # Формируем первое число $1213x6_{7}$ в виде строки и переводим его в десятичную систему
    s1 = int(’1213’ + x + ’6’, 7)
    # Формируем второе число $51x431_{7}$ в виде строки и переводим его в десятичную систему
    s2 = int(’51’ + x + ’431’, 7)
    # Суммируем полученные десятичные числа
    s = s1 + s2
    # Проверяем, делится ли сумма на 91
    if s % 91 == 0:
        # Если делится, выводим частное от деления на 91
        print(s // 91)
        # Прерываем цикл, так как найдено наименьшее подходящее значение x
        break

Ответ: 1199

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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