Найдите все натуральные числа, принадлежащие отрезку [33222; 99888], у которых ровно 3 различных нечётных делителя (количество чётных делителей может быть любым). В ответе укажите количество данных чисел.
ans = 0
for i in range(33222, 99888 + 1): # перебор чисел
dels = 0
for j in range(1, int(i ** 0.5) + 1): # перебор всевозможных делителей
if i % j == 0: # если j является делителем числа i
if j % 2 != 0: # если j нечётный , то учитываем его
dels += 1
if j != i//j and (i//j) % 2 != 0: # если обратный делитель нечётный, то учитываем его
dels += 1
if dels == 3:
ans += 1
print(ans)
Ответ: 93