(А. Рулин) Рассматривается множество целых чисел, принадлежащих числовому отрезку \([862346; \, 1056242].\) Найдите числа, нетривиальные делители которых образуют арифметическую прогрессию с разностью \(d = 100.\) В ответе для каждого такого числа (в порядке возрастания) запишите сначала само число, а потом – его максимальный нетривиальный делитель.
Решение:
Python
for n in range(862346, 1056243):
ds = {d for i in range(2,int(n**0.5)+1) if n % i == 0
for d in (i, n // i)}
if len(ds) > 1:
da = sorted(list(ds))
if all(y - x == 100 for x, y in zip(da, da[1:])):
print(n, da[-1])
Ответ:
\(867989 \,\, 983\)
\(936461 \,\, 1019\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене