Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 4*4736*1, которые делятся на 7993 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им результаты деления этих чисел на 7993.
Количество строк в таблице для ответа избыточно.
kompege.ru ЕГКР 19.04.25 – задание №25
Решение:
Решение на Python
|
1 2 3 4 |
from fnmatch import * for i in range(7993, 10**10+1, 7993): if fnmatch(str(i), "4*4736*1"): print(i, i//7993) |
Ответ:
44736821 5597
4064736241 508537
4303247361 538377
4347368721 543897
4447361151 556407
4473658121 559697
4794736931 599867
