Найдите все натуральные числа, принадлежащие отрезку [22 222; 88 888], у которых ровно различных делителей. В ответе укажите количество данных чисел.
n = set() # Подходящие числа
for x in range(22222, 88889):
ds = set() # Делители числа
for d in range(1, round(x**0.5)+1):
# Рассматриваем парные множители
if x % d == 0:
ds.add(d)
ds.add(x//d)
# Если делителей уже больше 5, то прекращаем работу цикла
if len(ds) > 5:
break
if len(ds) == 5:
n.add(x)
print(len(n))
Ответ: 2