№14 · решено
Цифра x, наименьшее, частное
Операнды арифметического выражения записаны в системе счисления с основанием 22. 27x98876₂₂ + 26x51₂₂ + 711x5₂₂ В записи чисел переменной x обозначена неизвестная цифра из алфавита 22-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 21. Для найденного x вычислите частное от деления значения арифметического выражения на 21 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно.
Источник: ФИПИ (Демо), № 31511
Ответвпиши то, что вывела программа
Показать разбор
- Перебирай x по цифрам системы: printable[:22]. Цифры идут по возрастанию, начиная с 0.
- Подставляй x в каждую запись через f-строку и читай её через int.
- Проверь, что сумма делится на 21 без остатка.
- Для подходящих x сохраняй частное, деление только через //.
- Для наименьшего x нужно первое частное в списке, его и выведи.
from string import printable
res = []
for x in printable[:22]:
x1 = int(f'27{x}98876', 22)
x2 = int(f'26{x}51', 22)
x3 = int(f'711{x}5', 22)
if (x1 + x2 + x3) % 21 == 0:
res.append((x1 + x2 + x3) // 21)
print(res[0])