Задания
Версия для печати и копирования в MS WordПусть M — сумма наименьшего и наибольшего простых делителей числа.
Напишите программу, которая перебирает целые числа, превышающие 8 007 000 000, такие что для них число M простое, больше 80 000 и содержит ровно один раз в своей записи последовательность цифр «567».
В ответе запишите первые пять найденных чисел в порядке возрастания.
Ответ:
Решение.
##Приведём решение на языке Python.
def f(x):
for i in range(2, int(x**0.5)+1):
if x%i==0:
return [i]+f(x//i)
return [x]
for x in range(8_007_000_001,8_300_000_000):
d = f(x)
if len(d)>1:
M = max(d)+min(d)
if M>80_000 and str(M).count('567')==1 and len(f(M))==1:
print(x)

