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

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

Например, в диапазоне [2; 48] максимальное количество различных натуральных делителей имеет число 48, поэтому для этого диапазона вывод на экране должна содержать следующие значения:



10 48




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
maxim_counter = 0 # максимальное кол-во делителей определенного числа
for i in range(84052, 84130+1):
    temp = count_divs(i)
    if temp > maxim_counter: # если кол-во делителей текущего числа больше максимального кол-ва делителей
        maxim_counter = temp # обновляем максимальное кол-во делителей
        maxim = i # обновляем число
print(maxim_counter, maxim)

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