Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Поляков-8366
- Просмотры: 226
- Изменено: 31 января 2026
*(А. Сражаев) Напишите программу, которая перебирает целые числа, большие \(800~000,\) в порядке возрастания и ищет среди них последовательность чисел в которой у каждого числа последовательности одинаковое число делителей. В ответе в первом столбце таблицы запишите в порядке возрастания первые \(5\) подходящих чисел, образующие такую последовательность, а во втором столбце – соответствующий максимальный нетривиальный делитель (не совпадающий с самим числом) для каждого из чисел.
Решение:
Python
def factor(x):
ans = []
for i in range(2, int(x ** 0.5) + 1):
while x % i == 0:
ans.append(i)
x //= i
if x > 1:
ans.append(x)
return ans
n = 800_000
seq = {}
while True:
n += 1
div = factor(n)
if len(div) > 1:
pw = {x: div.count(x) for x in set(div)}
m = 1
for p in pw.values():
m *= p + 1
if seq.get(m):
seq[m].append((n, n // min(div)))
else:
seq[m] = [(n, n // min(div))]
if len(seq[m]) == 5:
for x, d in seq[m]:
print(x, d)
break
Ответ:
\(800002 \,\, 400001\)
\(800006 \,\, 400003\)
\(800009 \,\, 114287\)
\(800017 \,\, 25807\)
\(800022 \,\, 400011\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


