Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Например, маске \(123{*}4?5\) соответствуют числа \(123405\) и \(12300425.\)
Среди натуральных чисел, не превышающих \(10^{10},\) найдите числа, удовлетворяющих маске \(89{*}4?5?7?\) и делящиеся на \(8993\) без остатка. Запишите в ответе найденные числа в порядке возрастания, справа от каждого числа запишите частное от его деления на \(8993.\)
Решение:
Python
from fnmatch import fnmatch
start = 89405070 + (8993 - 89405070 % 8993)
for n in range(start, 10**10, 8993):
if fnmatch(str(n), '89*4?5?7?'):
print(n, n // 8993)
Ответ:
\(8912485671 \,\, 991047\)
\(8915435375 \,\, 991375\)
\(8917485779 \,\, 991603\)
\(8934455570 \,\, 993490\)
\(8937405274 \,\, 993818\)
\(8939455678 \,\, 994046\)
\(8958475873 \,\, 996161\)
\(8961425577 \,\, 996489\)
\(8980445772 \,\, 998604\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене