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

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [591645;592845]  , число, имеющее максимальное количество различных натуральных делителей, если таких чисел несколько — найдите минимальное из них. Выведите на экран количество делителей такого числа и само число.

def count_divs(n): # функция, которая подсчитывает кол-во делителей числа
    counter = 0
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            counter += 1
            if i != n//i:
                counter += 1
    return counter


maxim = 0 # максимальное кол-во делителей числа
ans = 0
for i in range(591645, 592845 + 1):
    temp = count_divs(i) # кол-во делителей текущего числа
    if temp > maxim:
        maxim = temp # обновляем максимальное кол-во делителей
        ans = i # обновляем число
print(maxim, ans)

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