Напишите программу, которая перебирает целые числа, большие 7 513 048, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно различных, каждый из которых содержит в своей записи хотя бы одну цифру 1 и хотя бы одну цифру 6.
В ответе для первых 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
# Перебираем строго от 7 513 049
for x in range(7_513_049, 10_000_000):
d = f(x)
if len(d) == 2:
p1, p2 = d[0], d[1]
# Проверяем, что в КАЖДОМ множителе есть хотя бы одна '1' и хотя бы одна '6'
if ('1' in str(p1) and '6' in str(p1)) and ('1' in str(p2) and '6' in str(p2)):
print(x, max(d))
count += 1
if count == 5:
break

