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

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

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


maxim = 0 # максимальное кол-во делителей числа
ans = 0
for i in range(267153, 357254):
    s = count_div(i) # кол-во делителей текущего числа
    if s >= maxim: # нестрогий знак для того чтобы в ans сохранить максимальное(последнее) число
        maxim = s
        ans = i
print(ans, maxim)

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