Задание 25. Информатика. ЕГЭ. Поляков-2578
- Просмотры: 169
- Изменено: 24 ноября 2024
(Б.С. Михлин) Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку \([394441; \, 394505]\), числа, имеющие максимальное количество различных делителей. Если таких чисел несколько, то найдите минимальное из них. В ответе запишите два числа: количество делителей найденного числа и само число.
Решение:
Python
def search_div(n):
divisors = set()
for i in range(1, int(n**0.5)+1):
if not n % i:
divisors.add(i)
divisors.add(n//i)
return divisors
n_max_d = 0
max_d = 0
for n in range(394441, 394506):
d = len(search_div(n))
if d > max_d:
max_d, n_max_d = d, n
print(max_d, n_max_d)
Ответ: 48 394450