Задача к ЕГЭ по информатике на тему «делители числа» №5

Найдите наибольшее натуральное число на отрезке [10000;5000000]  , которое имеет ровно 10  делителей. В ответе укажите число.

def divs(n): # функция для подсчёта количества делителей числа
    count = 0
    for i in range(1,int(n**0.5)+1):
        if n%i==0:
            count += 1
            if i!=n//i:
                count += 1
    return count
for x in range(5000000, 10000 - 1, -1): # для оптимизации начинаем перебор с большего к меньшему
    if divs(x) == 10:
        print(x)
        break

Ответ: 4999563
Оцените статью
Я решу все!