Задание 25. Информатика. ЕГЭ 2024. Лещинер-1
- Просмотры: 769
- Изменено: 25 ноября 2024
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске \(123*4?5\) соответствуют числа \(123405\) и \(12300405\).
Среди натуральных чисел, не превышающих \(10^{8}\), найдите все числа, соответствующие маске \(2*1?5?1\), делящиеся на \(1921\) без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1921.
Количество строк в таблице для ответа избыточно.
Решение:
Python
from fnmatch import fnmatch
for num in range(210501, 10**8 + 1):
if fnmatch(str(num), '2*1?5?1') and num % 1921 == 0:
print(num, num // 1921)
Ответ:
\(2710531\) \(1411\)
\(22016581\) \(11461\)
\(23015501\) \(11981\)
\(23111551\) \(12031\)
\(27318541\) \(14221\)
\(27414591\) \(14271\)
\(28413511\) \(14791\)