Найти тему

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) # вывод результата
Около минуты