Пусть М – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение М равным нулю.
Напишите программу, которая перебирает целые числа, большие 700 000, в порядке возрастания и ищет среди них такие, для которых М оканчивается на 4. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце - соответствующие им значения М.
Например, для числа 20 М = 2 + 10 = 12.
Решение:
Решение на Python:
def dels(x):
d = set()
for i in range(2, int(x**0.5)+1):
if x % i == 0:
d.add(i)
d.add(x//i)
return d
k = 0
for x in range(700000, 2000000):
d = dels(x)
if len(d) > 0:
M = max(d)+min(d)
else:
M = 0
if M % 10 == 4:
print(x, M)
k += 1
if k >= 5: break
Ответ:
| 700004 | 350004 |
| 700009 | 41194 |
| 700023 | 233344 |
| 700024 | 350014 |
| 700044 | 350024 |
Ответ: