Маска числа, Python (4 часть). №25 ЕГЭ
4 часть задач на нахождение чисел, соответствующих маске и делящихся без остатка на заданное число. Решение на Python.
Во всех приведённых ниже задачах нужно найти натуральные числа, не превышающие 108. Подробно о решении в Маска числа, Python (2 часть).
№89DED0
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
2*1?5?1, делящиеся на 1921 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие результаты деления этих чисел на 1921.
вариант решения
Минимальное число:
(210501 // 1921 + 1) * 1921 = 211310
Соответствие маске:
number[0] == ‘2’ and number[-5] == ‘1’ and number[-3] == ‘5’ and number[-1] == ‘1’
Результат:
2710531 | 1411 |
22016581 | 11461 |
23015501 | 11981 |
23111551 | 12031 |
27318541 | 14221 |
27414591 | 14271 |
28413511 | 14791 |
№3A7D63
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
2*1?71, делящиеся на 1991 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие результаты деления этих чисел на 1991.
решение
Минимальное число:
(21071// 1991 + 1) * 1991 = 21901
Соответствие маске:
number[0] == ‘2’ and number[-4] == ‘1’ and number[-2] == ‘7’ and number[-1] == ‘1’
2351371 | 1181 |
20071271 | 10081 |
22261371 | 11181 |
24451471 | 12281 |
26641571 | 13381 |
28831671 | 14481 |
№D381B4
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
3?1*57, делящиеся на 2023 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие результаты деления этих чисел на 2023.
решение
Минимальное число:
(30157 // 2023 + 1) * 2023 = 30345
Соответствие маске:
number[0] == ‘3’ and number[2] == ‘1’ and number[-2] == ‘5’ and number[-1] == ‘7’
Результат:
321657 | 159 |
34105757 | 16859 |
35117257 | 17359 |
36128757 | 17859 |
37140257 | 18359 |
38151757 | 18859 |
39163257 | 19359 |
№661336
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
3?5*2?7, делящиеся на 3023 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие результаты деления этих чисел на 3023.
решение
Минимальное число:
(305207 // 3023 + 1) * 3023 = 305323
Соответствие маске:
number[0] == ‘3’ and number[2] == ‘5’ and number[-3] == ‘2’ and number[-1] == ‘7’
Результат:
3050207 | 1009 |
30529277 | 10099 |
33552277 | 11099 |
35517227 | 11749 |
36575277 | 12099 |
38540227 | 12749 |
39598277 | 13099 |
Примеры из Банка заданий ЕГЭ