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

Напишите программу, которая ищет среди целых чисел, превышающих 10000, первые пять чисел, удовлетворяющих условию: сумма максимального и минимального различных делителей, отличных от единицы и самого числа, при делении на 256 даёт остаток 6.

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

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

c = 0 # Счётчик подходящих чисел
for i in range(10001, 15000):
    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[0]+ds[-1]) % 256 == 6:
        c += 1
        print(i, ds[0]+ds[-1])
    # Если уже накопилось 5 чисел, то прерываем цикл
    if c == 5:
        break

Ответ: 10248 5126 10760 5382 10761 3590 11209 1030 11272 5638
Оцените статью
Я решу все!