Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(123{*}4?5\) соответствуют числа \(123405\) и \(12300405.\)
Среди натуральных чисел, не превышающих \(10^{10},\) найдите все числа, соответствующие маске \(5{?}43{?}73{*}4,\) делящиеся на \(2026\) без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на \(2026.\)
Количество строк в таблице для ответа избыточно.
Решение:
Python
from fnmatch import fnmatch
st = 50430734 + (2026 - 50430734 % 2026) % 2026
even = '02468'
for n in range(st, 10**10, 2026):
ns = str(n)
if fnmatch(ns, '5?43?73*4') and ns[1] in even and ns[4] in even:
print(n, n // 2026)
Ответ:
\(5243073244 \,\, 2587894\)
\(5243873514 \,\, 2588289\)
\(5843073144 \,\, 2884044\)
\(5843873414 \,\, 2884439\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене