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

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

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

Пример ввода ответа: число1 разность1 число2 разность2 …

for i in range(14678, 15157):
    ds = set()
    for d in range(2, int(i**0.5)+1):
        if i % d == 0:
            ds.add(d)
            ds.add(i//d)
    # Делаем из множества отсортированный список,
    # чтобы можно было по индексам найти делители
    ds = sorted(list(ds))
    if len(ds) > 1 and (ds[-1]-ds[0]) > 7570:
        print(i, ds[-1]-ds[0])

Ответ: 15146 7571 15148 7572 15150 7573 15152 7574 15154 7575 15156 7576
Оцените статью
Я решу все!