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

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [88535;167042], числа, имеющие ровно 5 различных чётных натуральных делителей. Программа должна вывести количество таких чисел и их целую часть среднего арифметического.

def divs(x): # функция возврающая список делителей числа
    d = set()
    for i in range(1,int(x**0.5)+1):
        if x % i == 0:
            d.add(i)
            d.add(x//i)
    return sorted(d)
ans = []
for x in range(88535,167043):
    d = [i for i in divs(x) if i % 2 == 0] # список, в котором хранятся только чётные делители числа
    if len(d) == 5:
        ans += [x]
print(len(ans),sum(ans)//len(ans))

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