πЕГЭ · ИИ-репетитор12 предметов · задания ФИПИ
Главная → Информатика → Задания №25 → Задание i25-12

Задание №25 ЕГЭ Информатика с ответом и решением

Ответ: 3969064*336906944*3069064064*3169069904*3269065624*3369061344*3469067184*3569062904*3669068744*3769064464*3869060184*3969066024

Условие

Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «*». Символ «?» означает ровно одну произвольную цифру, символ «*» означает произвольную (в том числе пустую) последовательность цифр.

Пример. Маске 123*4?5 соответствуют числа 123405 и 12376415. Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 3?6906*4 и при этом без остатка делятся на 2024. В ответе запишите все найденные числа в порядке возрастания.

Подсказки — как подойти к решению

  1. Перебор всех чисел до предела займёт время: шагай с шагом, равным делителю из условия, и на каждом шаге проверяй маску через fnmatch или регулярное выражение.
  2. Звёздочка может быть пустой, поэтому среди подходящих чисел встречаются и совсем короткие. Выводи их по возрастанию как числа, а не как строки: строки сортируются по первой цифре и порядок ломается.

Решение

Приведем решение на языке Python.

from fnmatch import *

for x in range (0, 10**10, 2024):

if fnmatch(str(x),'3?6906*4'):

print(x)

В результате работы программа должна вывести следующее:

3969064

336906944

3069064064

3169069904

3269065624

3369061344

3469067184

3569062904

3669068744

3769064464

3869060184

3969066024

Приведём решение Сергея Донец на PascalABC.NET:

begin

var d:=2024;

foreach var x in Range(d, 10**10, d) do

if x.ToString.IsMatch('^3.6906.*4$')

then Println(x);

end.

Ответ: 3969064*336906944*3069064064*3169069904*3269065624*3369061344*3469067184*3569062904*3669068744*3769064464*3869060184*3969066024

Типичные ошибки

Решить это задание в тренажёре

В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №25 по информатике