Найдите \(5\) чисел больших \(500000,\) таких, что среди их делителей есть число, оканчивающееся на \(8,\) при этом этот делитель не равен \(8\) и самому числу. В качестве ответа приведите \(5\) наименьших чисел, соответствующих условию. Формат вывода: для каждого из найденных чисел в отдельной строке запишите само число, а затем минимальный делитель, оканчивающийся на \(8,\) не равный \(8\) и самому числу.
Решение:
Python
from math import isqrt
q = 0
n = 500_000
while q < 5:
n += 1
divs = {d for i in range(2, isqrt(n) + 1) if n % i == 0
for d in (i, n // i) if d != 8 and d % 10 == 8}
if divs:
print(n, min(divs))
q += 1
Ответ:
\(500002 \,\, 178\)
\(500004 \,\, 18\)
\(500016 \,\, 48\)
\(500018 \,\, 58\)
\(500020 \,\, 4348\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене