OpenFIPI 2.0

25

6

2FDD04

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

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

 

Например, для числа 20 М = 2 + 10 = 12.

Количество строк в таблице для ответа избыточно.

700004 350004
700009 41194
700023 233344
700024 350014
700044 350024

def m(x):
    for i in range(2, x):
        if x % i == 0:
            return i + x // i
    return 0


k = 0
for i in range(700001, 1648646464):
    d = m(i)
    if d % 10 == 4:
        print(i, d)
        k += 1
    if k == 5:
        break

Просмотреть отправленные ответы 2FDD04