1 подписчик
def simple(n): # функция, которая проверяет простоту числа (значения True или False соответственно)
if n == 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
mx = 0
mxnum = 0
for num in range(100000, 200001): # перебор диапазона чисел
k = 0 # счетчик простых делителей
for i in range(2, int(num**0.5) + 1): # перебор возможных делителей
if num % i == 0: # проверка на делимость
if i != (num // i):
if simple(i): # проверка простоты числа из левого диапазона
k += 1 # работа счетчика
if simple(num // i): # проверка простоты числа из правого диапазона
k += 1 # работа счетчика
else:
if simple(i):
k += 1 # работа счетчика
if k >= mx: # условие максимальности счетчика простых делителей
mx = k # фиксируем максимальное значение счетчика
mxnum = num # фиксируем число с максимальных значением счетчика
print(mxnum, mx) # вывод результата
Около минуты
7 июля 2022