Решение: Числа по маске и делимость
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: символ «?» означает ровно одну произвольную цифру; символ «*» означает любую последовательность цифр произвольной длины, в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих $10^8$, найдите все числа, соответствующие маске 1234*54, делящиеся на 21 без остатка.
Решение по шагам
5 шаговТак как число не превышает $10^8$, после префикса 1234 и суффикса 54 может находиться не более двух цифр.
При пустой последовательности получается число $123454$, которое не делится на 21.
Для одной цифры перебираем числа вида $1234a54$. Условие делимости на 21 выполняется только при $a=2$: $12342454 / 21 = 58774$.
Для двух цифр перебираем числа вида $1234ab54$. Проверка остатков по модулю 21 даёт значения $ab=11, 32, 53, 74, 95$.
Вычисляем частные для найденных чисел.
12341154 — 587674; 12343254 — 587774; 12345354 — 587874; 12347454 — 587974; 12349554 — 588074; 12342454 — 58774
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не учитывать вариант с пустой последовательностью «*».
Разрешить последовательности длиной более двух цифр, хотя число должно быть не больше $10^8$.
Записать найденные числа не в порядке возрастания.
Неверно вычислить частное при делении на 21.