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

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

Для каждого найденного числа запишите эти четыре делителя в четыре соседних столбца на экране с новой строки. Делители в строке должны следовать в порядке возрастания.

Формат ввода ответа – сначала через пробел в порядке возрастания делители первого числа, затем через пробел делители второго и так далее. Пример: (для числа1)делитель1 (для числа1)делитель2 (для числа1)делитель3 (для числа1)делитель4 (для числа2)делитель1 (для числа2)делитель2 (для числа2)делитель3 (для числа2)делитель4

for i in range(81234, 81299):
    ds = set() # Чётные делители
    for d in range(1, int(i**0.5)+1):
        if i % d == 0:
            # Проверяем чётность делителей
            if d % 2 == 0:
                ds.add(d)
            if (i//d) % 2 == 0:
                ds.add(i//d)
        # Если кол-во превышает 4, то пропускаем
        if len(ds) > 4:
            break
    if len(ds) == 4:
        print(sorted(ds))

Ответ: 2 302 538 81238 2 82 1982 81262 2 358 454 81266 2 194 838 81286 2 4 40646 81292 2 14 11614 81298
Оцените статью
Я решу все!