Задание 25. Информатика. Демо-2023

Просмотры: 91
Изменено: 24 ноября 2024

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске \(123*4?5\) соответствуют числа \(123405\) и \(12300405\).

Среди натуральных чисел, не превышающих \(10^{10}\), найдите все числа, соответствующие маске \(1?2139*4\), делящиеся на \(2023\) без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.

Решение:

Python


for p in range(4):
    for b in range(10):
        for n in range(10**p):
            t = 10**(p+6) + b*10**(p+5) + 2139*10**(p+1) + n * 10 + 4
            if not t % 2023:
                print(t, t // 2023)

Ответ:
\(162139404 \quad 80148\)
\(1321399324 \quad 653188\)
\(1421396214 \quad 702618\)
\(1521393104 \quad 752048\)