Задача #6582

Делители и маски

Уровень ЕГЭ

Пусть M(N) – пятый по величине делитель натурального числа N без учёта самого числа и единицы. Например, M(1000) = 100. Если у числа N меньше 5 различных делителей, не считая единицы и самого числа, считаем, что M(N) = 0. Найдите 5 наименьших натуральных чисел, превышающих 460 000 000, для которых M(N) > 0. В ответе запишите найденные значения M(N) в порядке возрастания соответствующих им чисел N.

Ответ
Новая
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть Нажми, чтобы скрыть

Ответ

41818182
261959
5
271
57500001
def div(x):
d = set()
for i in range(2, int(x**0.5)+1):
if x%i==0:
d|={i,x//i}
return sorted(d)

k = 0
for x in range(460_000_001, 461_000_000):
d = div(x)
if len(d)>=5:
print(d[-5])
k = k + 1
if k==5: break
Быстрый переход
Перейти к задаче