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

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

def countDelitel(n): # функция, которая возращает кол-во делителей числа
    count = 0
    for j in range(1, int(n ** 0.5) + 1):
        if n % j == 0:
            count += 2
            if j == n // j:
                count -= 1
    return count


maxCountDelit = 0
maxNumber = 0
for i in range(231893, 251859 + 1):
    k = countDelitel(i)
    if k >= maxCountDelit: #нестрогий знак для того чтобы вывести максимальное(последнее) число
        maxCountDelit = k
        maxNumber = i
print(maxCountDelit, maxNumber)

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