(Е. Джобс) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(123{*}4{?}5\) соответствуют числа \(123405\) и \(12300425.\)
Найдите все числа, меньшие \(10^6,\) которые имеют ровно \(24\) делителя, соответствующих маске \(4{*}.\)
В ответе укажите найденные числа в порядке возрастания, справа от каждого числа выведите его максимальный делитель, соответствующий маске \(4{*}.\)
Решение:
Python
for n in range(60, 10**6):
divs = {d for i in range(1, int(n**0.5) + 1) if n % i == 0
for d in (i, n // i) if str(d)[0] == '4'}
if len(divs) == 24:
print(n, max(divs))
Ответ: \(997920 \,\, 498960\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене