Условие: № 4802 (Уровень: Средний)
• Статья подготовлена командой itpy, подписывайтесь на наш телеграм канал!
Операнды арифметического выражения записаны в системе счисления с основанием 12.
Пусть T = 4Ax_12 + y1B23_12
В записи чисел переменными x и y обозначены неизвестные цифры из алфавита 12-ричной системы счисления. Причём известно, что x кратно 9, а y больше двух.
Определите наименьшее значение выражения 2*(x+y), при котором значение арифметического выражения T кратно 6. Укажите его в ответе в десятичной системе счисления.
for x in '0123456789AB':
for y in '0123456789AB':
if int(x, 12) % 9 == 0 and int(y, 12) > 2:
T = int(f'4A{x}', 12) + int(f'{y}1B23', 12)
if T % 6 == 0:
print(2 * (int(x, 12) + int(y, 12)))
Комментарии к решению:
- for x in '0123456789AB': - создаём и пробегаем цикл, перебирая символы из строки '0123456789AB' и присваивая каждый символ переменной x.
- for y in '0123456789AB': - создаём цикл в цикле, перебирая символы из строки '0123456789AB' и присваивая каждый символ переменной y.
- if int(x, 12) % 9 == 0 and int(y, 12) > 2: - проверяем, является ли целое число, полученное из символа x в системе счисления 12, делителем 9, и является ли целое число, полученное из символа y в системе счисления 12, больше 2.
- T = int(f'4A{x}', 12) + int(f'{y}1B23', 12) - вычисляем сумму двух целых чисел: число, полученное из строкового литерала '4A' и символа x в системе счисления 12, и число, полученное из строкового литерала y1B23 в системе счисления 12, и сохраняем результат в переменную T.
- if T % 6 == 0: - проверяем, является ли число T делителем 6.
- print(2 * (int(x, 12) + int(y, 12))) - выводим результат выражения, умноженного на 2: сумму двух целых чисел, полученных из символов x и y в системе счисления 12.