Тип 25 № 92274 
Обработка целочисленной информации. Маска числа
i
Напишите программу, которая перебирает целые числа, большие 4 501 347 296, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно различных, каждый из которых содержит ровно один раз в своей записи последовательность цифр «53».
В ответе запишите в первом столбце таблице первые пять найденных чисел в порядке возрастания, во втором столбце — для каждого из них наименьший найденный множитель для каждого из них.
Количество строк в таблице для ответа избыточно.
Решение. ##Приведём решение на языке Python.
def f(x):
for i in range(2, int(x**0.5)+1):
if x%i==0:
return [i]+f(x//i)
return [x]
count = 0
for x in range(4_501_347_297, 4_600_000_000):
d = f(x)
if len(d) == 2:
# Извлекаем каждый из двух множителей отдельно
p1, p2 = d[0], d[1]
# Проверяем каждый строго изолированно
if str(p1).count('53') == 1 and str(p2).count('53') == 1:
print(x, min(d))
count += 1
if count == 5:
break
Ответ: 4501351109&53&4501367009&53&4501371143&53&4501382209&50153&4501382909&53
92274
4501351109 53 4501367009 53 4501371143 53 4501382209 50153 4501382909 53