Условие:
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «» означает любую последовательность цифр произвольной длины; в том числе «» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих , найдите первые два числа, соответствующие маске 1?6154*1, делящиеся на 1987 без остатка. В ответе запишите сначала найденное число, а через пробел, соответствующее ему результат деления этого числа на 1987, найденные числа запишите в порядке возрастания через пробел в 2 строки.
Решение:
Для решения задачи, нам нужно выполнить следующие шаги:
1. Сгенерировать все возможные числа, соответствующие маске 1?6154*1.
2. Проверить, какие из этих чисел делятся на 1987 без остатка.
3. Ограничить поиск числами, не превышающими 109 (или любое другое ограничение, если оно указано).
4. Вывести первые два найденных числа и результаты их деления на 1987.
Давайте напишем код на Python, который выполнит эти шаги:
