Напишите программу, которая перебирает целые числа, большие 6 086 055, в порядке возрастания и ищет среди них числа, представленные в виде произведено двух простых множителей, не обязательно различных, каждый из которых содержит в своей записи ровно одну цифру 6.
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце — для каждого из них соответствующий наибольший из найденных множителей.
Количество строк в таблице для ответа избыточно.
Пересдача 03.07.2025 ЕГЭ по информатике – задание №25
Решение:
Решение на Python
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def p(x): return x > 1 and all(x % i != 0 for i in range(2, int(x**0.5) + 1)) def div(x): for i in range(2, int(x**0.5) + 1): if x % i == 0: if p(i) and p(x // i) and str(i).count('6') == 1 and \ str(x // i).count('6') == 1: return [i, x // i] else: return [] return [] k = 0 for x in range(6_086_056, 6_100_000): if k == 5: break d = div(x) if d: k += 1 print(x, d[1]) |
Ответ:
6086089 2467
6086161 3673
6087281 9467
6087317 36451
6087727 2683
