Напишите программу, которая перебирает целые числа, большие 2 626 695 891, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно различных, каждый из которых ровно один раз содержит в своей записи 67 (67 — идущие подряд друг за другом в указанном порядке цифры 6 и 7).
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце — для каждого из них соответствующий наименьший найденный множитель.
Количество строк в таблице для ответа избыточно.
Основная волна ЕГЭ по информатике 18.06.2026 – задание №25
Решение:
Решение на Python
|
1 2 3 4 5 6 7 8 9 10 |
def f(x): for i in range(2, int(x**0.5) + 1): if x % i == 0: return [i] + f(x // i) return [x] for x in range(2_626_695_892, 2_700_000_000): d = f(x) if (len(d) == 2 and str(d[0]).count('67') == 1 and str(d[1]).count('67') == 1): print(x, min(d)) |
Ответ:
2626696861 6793
2626700987 1567
2626704089 167
2626711691 2267
2626713493 67