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

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

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(654321, 654521):
    temp = count_divs(i)
    if temp >= maxim:
        maxim = temp
        ans = i
print(maxim, ans)

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