Напишите программу, которая перебирает целые числа, большие 1 103 285 717, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно различных, каждый из которых содержит ровно один раз в своей записи последовательность цифр «16».
В ответе для первых 5 найденных чисел запишите само число и наименьший из его простых множителей в соответствующие столбцы таблицы.
Количество строк в таблице для ответа избыточно.
Ответ:
##Приведём решение на языке 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(1_103_285_718, 1_200_000_000):
d = f(x)
if len(d) == 2:
p1, p2 = d[0], d[1]
if str(p1).count('16') == 1 and str(p2).count('16') == 1:
print(x, min(d))
count += 1
if count == 5:
break

