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

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [196285;396175]  , числа, имеющие ровно 7  различных нечётных натуральных делителей. Выведите такие числа через пробел, в порядке возрастания.

def divisors(n): # функция для подсчёта нечётных делителя у числа
    count = 0
    for j in range(1, int(n ** 0.5) + 1):
        if n % j == 0:
            if j % 2 == 1:
                count += 1
            if (n // j) % 2 == 1 and n // j != j:
                count += 1
    return count


for i in range(196285, 396175 + 1):
    if divisors(i) == 7:
        print(i)

Ответ: 235298 250000 373248
Оцените статью
Я решу все!