Задача #1507

Делители и маски

Уровень ЕГЭ

(М. Ишимов) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:

- символ «?» означает ровно одну произвольную цифру;
- символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.

Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске *6221*6?, делящиеся на 2016 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2016.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

62213760
30860
66221568
32848
96221664
47729
from fnmatch import *
for n in range(2016, 10 ** 8 + 1, 2016):
if fnmatch(str(n), '*6221*6?'):
print(n, n // 2016)
Быстрый переход
Перейти к задаче