Напишите программу, которая перебирает целые числа, большие \(1~350~050,\) в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на \(11\) и не равный ни самому числу, ни числу \(11.\) В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце — для каждого числа соответствующий минимальный делитель, оканчивающийся на \(11,\) не равный ни самому числу, ни числу \(11.\)
Количество строк в таблице для ответа избыточно.
Решение:
Python
n = 1_350_050
q = 0
while q < 5:
n += 1
d = []
for x in range(2, int(n**0.5) + 1):
if n % x == 0:
d += [z for z in (x, n // x) if z != 11 and z % 100 == 11]
if d:
print(n, min(d))
q += 1
Ответ:
\(1350051 \,\, 311\)
\(1350055 \,\, 270011\)
\(1350062 \,\, 511\)
\(1350063 \,\, 40911\)
\(1350066 \,\, 225011\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене