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

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

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
 

 
a = 111111  # Задаю границы цикла
 
b = 777777
 
maxim = 0  # Максимальное количество делителей
 
ans = 0  # Будущий ответ
 
for i in range(a, b + 1):
 
    if count_divs(i) >= maxim:
 
        maxim = count_divs(i)
 
        ans = i
 
print(ans)

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