Задание №25: Обработка целочисленной информации и маски
Основные типы и прототипы задания №25:
Маски чисел (* и ?)
Делители натуральных чисел
Поиск чисел с особыми свойствами делителей
Условие задания
(Е. Джобс) Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Найдите 5 минимальных чисел, больших 700000, которые кратны 13 и не подходят ни под одну из трех масок: *0??3*, *4??2 и *1*. Найденные числа запишите в порядке возрастания, справа от каждого числа укажите сумму значений разрядов.
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Найдите 5 минимальных чисел, больших 700000, которые кратны 13 и не подходят ни под одну из трех масок: *0??3*, *4??2 и *1*. Найденные числа запишите в порядке возрастания, справа от каждого числа укажите сумму значений разрядов.
Ответ:
700024 13<br/>700050 12<br/>700076 20<br/>700089 24<br/>700206 15
Шаблон решения на Python
# === Задание 25: Маски чисел и делители ===
from fnmatch import fnmatch
ans = []
for n in range(10**7, 10**8):
if fnmatch(str(n), "12*34?5"):
if n % 2024 == 0:
print(n, n // 2024)