Задача #4261
Делители и маски
Пусть М - разность максимального и минимального простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то значение М считается равным нулю. Напишите программу, которая перебирает целые числа, большие 8 117 600 756, в порядке возрастания и ищет среди них такие, для которых М является простым числом и в своей записи содержит не менее четырёх цифр 1.
В ответе запишите в первом столбце таблицы первые 5 найденных чисел в порядке возрастания, а во втором столбце - соответствующие им значения М.
Количество строк в таблице для ответа избыточно.
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
8117601578
1117817
8117603854
11117
8117607130
811760711
8117608904
1014701111
8117611292
111119
Видео по задаче
def p(x):
for i in range(2,int(x**0.5)+1):
if x%i==0:
return [i]+p(x//i)
return [x]
for x in range(8_117_600_757,8_200_000_000):
d = p(x)
if len(d)>1:
M = max(d)-min(d)
if str(M).count('1')>=4 and len(p(M))==1:
print(x,M)