Напишите программу, которая перебирает целые числа, бо́льшие \(700~000,\) в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру \(7\) и не равный ни самому числу, ни числу \(7.\) В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – соответствующий минимальный делитель для каждого числа, оканчивающийся цифрой \(7,\) не равный ни самому числу, ни числу \(7.\)
Количество строк в таблице для ответа избыточно.
Решение:
Python
from math import isqrt
q = 0
n = 700_000
while q < 5:
n += 1
divs = {d for x in range(2, isqrt(n) + 1) if n % x == 0
for d in (x, n // x) if d % 10 == 7 and d != 7}
if divs:
print(n, min(divs))
q += 1
Ответ:
\(700002 \,\, 27\)
\(700003 \,\, 37\)
\(700005 \,\, 6087\)
\(700007 \,\, 77\)
\(700008 \,\, 29167\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене