Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную чётную цифру;
– символ «*» означает любую последовательность цифр произвольной
длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 7?23?64*8, делящиеся на 2026 без остатка.
В ответе запишите все найденные числа в порядке возрастания.
СтатГрад Вариант ИН2510201 16 декабря 2025 – задание №25
Решение:
Решение на Python
|
1 2 3 4 |
from fnmatch import * for n in range(2026, 10**10, 2026): if fnmatch(str(n),'7?23?64*8') and str(n)[1] in '02468' and str(n)[4] in '02468': print(n) |
Ответ:
782386498
7023064168
7023864438
7623064068
7623864338
