(Р. Сорокин) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Найдите все натуральные числа, не превышающие \(10^6,\) кратные \(3131,\) которые имеют ровно три делителя, соответствующих маске \(2{*}5{*}.\) Количество делителей, не соответствующих данной маске, может быть любым.
В ответе запишите все найденные числа в порядке возрастания, а справа от каждого число – его наибольший делитель, соответствующий маске \(2{*}5{*}.\)
Решение:
Python
for n in range(3131, 10**6, 3131):
divs = {d for i in range(1, int(n**0.5)+1) if n % i == 0
for d in (i, n // i)}
div_m = {d for d in divs if str(d)[0] == '2' and '5' in str(d)}
if len(div_m) == 3:
print(n, max(div_m))
Ответ:
\(475912 \,\, 237956\)
\(576104 \,\, 288052\)
\(626200 \,\, 25048\)
\(760833 \,\, 253611\)
\(779619 \,\, 259873\)
\(801536 \,\, 25856\)
\(951824 \,\, 237956\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене