Задача #2881
Делители и маски
Среди чисел больших 55 000 000, найдите такие, что среди их простых делителей есть число, оканчивающееся на 777, при этом не равное самому числу.
В качестве ответа приведите 4 наименьших числа, соответствующих условию.
Формат вывода: для каждого из 4 таких найденных чисел в отдельной строке сначала выводится само число, затем минимальный простой делитель, оканчивающийся на 777, не равный самому числу.
Количество строк для записи ответа избыточно.
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
55000662
9166777
55001262
2777
55001554
27500777
55001704
1777
def div(x):
d = set()
for i in range(2,int(x**0.5)+1):
if x%i==0:
d.add(i)
d.add(x//i)
return sorted(d)
k = 0
for x in range(55_000_001,55_010_000):
d = [i for i in div(x) if len(div(i))==0 and i%1000==777]
if len(d)>0:
print(x,d[0])
k += 1
if k==4: break