Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Основная волна. Пересдача. 03.07.2025
- Просмотры: 2108
- Изменено: 21 августа 2025
Напишите программу, которая перебирает целые числа, большие \(6~086~055,\) в порядке возрастания и ищет среди них числа, представленные в виде произведено двух простых множителей, не обязательно различных, каждый из которых содержит в своей записи ровно одну цифру \(6.\)
В ответе в первом столбце таблицы запишите первые \(5\) найденных чисел в порядке возрастания, а во втором столбце — для каждого из них соответствующий наибольший из найденных множителей.
Количество строк в таблице для ответа избыточно.
Решение:
Python
def sieve(n):
tmp = [1] * n
tmp[0] = tmp[1] = 0
for x in range(2, int(n**0.5) + 1):
if tmp[x]:
for p in range(x**2, n, x):
tmp[p] = 0
ans = []
for p in range(2, n):
if tmp[p]:
ans.append(p)
return ans
primes = sieve(6_500_000)
def divisors(n):
div = []
p = 0
while n > 1:
while n % primes[p] == 0:
div.append(primes[p])
n //= primes[p]
p += 1
return div
q = 0
n = 6_086_055
while q < 5:
n += 1
div = divisors(n)
if len(div) == 2 and all(str(x).count('6') == 1 for x in div):
print(n, max(div))
q += 1
Ответ:
\(6086089 \,\, 2467\)
\(6086161 \,\, 3673\)
\(6087281 \,\, 9467\)
\(6087317 \,\, 36451\)
\(6087727 \,\, 2683\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


