Задача к ЕГЭ по информатике на тему «делители числа» №2

Найдите все натуральные числа, принадлежащие отрезку [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
Оцените статью
Я решу все!