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

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [1111; 555555], числа, имеющие четное количество делителей.

Программа должна вывести количество таких чисел.

def count_divs(n):
 
    counter = 0
 
    for i in range(1, int(n ** 0.5) + 1):
 
        if n % i == 0:
 
            counter += 1
 
            if i != n // i:
 
                counter += 1
 
    return counter
 

 
a = 1111  # Задаем границы цикла
 
b = 555555
 
ans = 0  # Будущий ответ
 
for i in range(a, b + 1):
 
    if count_divs(i) % 2 == 0:
 
        ans += 1
 
print(ans)

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