Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [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