Пусть 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