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

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

Напишите программу, которая перебирает целые числа, большие 452 021, в порядке возрастания и ищет среди них такие, для которых значение М при делении на 7 дает в остатке 3. Вывести первые 5 найденных чисел и соответствующие им значения М.

def m(n): # функция, которая считает сумму минимального и максимального нетривиальньных делителей
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return i + n // i
    return 0
k = 0
for i in range(452021 + 1, 10000000000000):
    if m(i) % 7 == 3:
        print(i, m(i))
        k += 1
    if k == 5: break

Ответ: 452025 150678 452029 23810 452034 226019 452048 226026 452062 226033
Оцените статью
Я решу все!