14.02 Поиск цифр(-ы) числа
Ошибка.
Попробуйте повторить позже
Операнды арифметического выражения записаны в системе счисления с основанием 28.
В записи чисел переменной x обозначена неизвестная цифра из алфавита 28-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 18. Для найденного значения x вычислите частное от деления значения арифметического выражения на 18 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно.
Решение программой:
Даны четыре числа ,
,
и
, содержащие переменную x, которая может
принимать значения от 0 до 27, поскольку мы работаем в 28-ричной системе. Наша цель — найти наименьшее значение
x, при котором сумма этих чисел делится на 18, а затем вычислить частное от деления суммы на 18. Для этого мы
используем цикл for x in ’0123456789ABCDEFGHIJKLMNOPQR’:, перебирающий все допустимые значения x,
представленные в виде символов строки. Каждое число преобразуем в десятичное с помощью функции int(), где первый
аргумент — это строковое представление числа, а второй аргумент — основание системы счисления, в данном случае 28.
Например, для числа
мы формируем строку ’3LF’ + x и передаем её в int(’3LF’ + x, 28) для получения
десятичного значения s1. Аналогично формируем строки для остальных чисел: ’67BFC’ + x + ’N’ для
, ’4’ + x + ’982D’ для
и ’PQ20’ + x + ’6’ для
, и получаем их десятичные
значения s2, s3, s4. Затем суммируем все числа s = s1 + s2 + s3 + s4 и проверяем, делится ли сумма на 18
с помощью if s % 18 == 0. Как только условие выполняется, выводим текущее значение x и частное
от деления суммы на 18 через print(x, s // 18). Таким образом, алгоритм перебирает все возможные
значения x, преобразует числа из 28-ричной системы в десятичную, проверяет делимость на 18 и выводит
результат.
# Перебираем все возможные значения x от 0 до 27 в 28-ричной системе for x in "0123456789ABCDEFGHIJKLMNOPQR": # Вычисляем первое число $3LFx_{28}$ в десятичной системе s1 = int("3LF" + x, 28) # Вычисляем второе число $67BFCxN_{28}$ в десятичной системе s2 = int("67BFC" + x + "N", 28) # Вычисляем третье число $4x982D_{28}$ в десятичной системе s3 = int("4" + x + "982D", 28) # Вычисляем четвертое число $PQ20x6_{28}$ в десятичной системе s4 = int("PQ20" + x + "6", 28) # Находим сумму чисел s = s1 + s2 + s3 + s4 # Проверяем, делится ли сумма на 18 if s % 18 == 0: # Если делится, выводим текущее значение x и частное от деления на 18 print(x, s // 18)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

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

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

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

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

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!