Пусть — сумма минимального и максимального натурального делителей целого числа, не считая единицы и самого числа. Если таких делителей нет, то считаем значение
равным нулю.
Напишите программу, которая перебирает целые числа, большие , в порядке возрастания и ищет среди них такие, для которых значение
при делении на
дает в остатке
. Вывести первые
найденных чисел через пробел.
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