26.03.2026

Задача 25. ЕГЭ по информатике. Решение на языке Python

Задача 25. ЕГЭ по информатике

Пусть M – сумма минимального и максимального простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то значение M считается равным нулю.

Напишите программу, которая перебирает целые числа, бо́льшие 7 800 000, в порядке возрастания и ищет среди них такие, для которых M оканчивается на 63 и кратно общему количеству различных простых делителей числа. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – соответствующие им значения M.

Например, для числа 14 М = 2 + 7 = 9.

Источник: kompege.ru

Программа решения на языке Python

def f(n):
    d = []
    for i in range(1, int(n**0.5) + 1):
        if n % i == 0:
            d.append(i)
            d.append(n // i)
    return sorted(set(d))
j = 0
k = 7800001
while j != 5:
    y = f(k)                 # все делители k
    a = [t for t in y if t != y[-1] and len(f(t)) == 2]
    if len(a) == 0:
        M = 0
    else:
        M = min(a) + max(a)
        if M % 100 == 63 and M % len(a) == 0:
            print(k, M)
            j += 1
    k += 1

Вывод:

7800610 780063

7801042 8463

7801312 1863

7801916 8163

7802032 69663

Комментариев нет:

Отправить комментарий