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

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

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

def m(n): # функция для подсчёта суммы минимального и максимального делителей
    for x in range(2, int(n ** 0.5) + 1):
        if n % x == 0 and x != n // x:
            return x + n // x
    return 0

k = 0
for i in range(425162, 10000000000):
    if m(i) % 7 == 3: # если остаток суммы при делении на 7 равен 3
        print(i)
        k += 1
    if k == 5:
        break

Ответ: 425168 425182 425183 425187 425196
Оцените статью
Я решу все!