Маска числа, Python (3 часть). №25 ЕГЭ
3 часть задач на нахождение чисел, соответствующих маске и делящихся без остатка на заданное число. Решение на Python.
Во всех приведённых ниже задачах нужно найти натуральные числа, не превышающие 108. Подробно о решении в Маска числа, Python (2 часть).
№B19643
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
123*678, делящиеся на 13 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 13.
вариант решения
Минимальное число:
(123678 // 13 + 1) * 13 = 123682
Соответствие маске:
number[0] == ‘1’ and number[1] == ‘2’ and number[2] == ‘3’ and number[-3] == ‘6’ and number[-2] == ‘7’ and number[-1] == ‘8’
Результат:
1237678 | 95206 |
12300678 | 946206 |
12313678 | 947206 |
12326678 | 948206 |
12339678 | 949206 |
12352678 | 950206 |
12365678 | 951206 |
12378678 | 952206 |
12391678 | 953206 |
№78B588
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
1234*54, делящиеся на 21 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 21.
решение
Минимальное число:
(123454 // 21 + 1) * 21 = 119259
Соответствие маске:
number[0] == ‘1’ and number[1] == ‘2’ and number[2] == ‘3’ and number[3] == ‘4’ and number[-2] == ‘5’ and number[-1] == ‘4’
1234254 | 58774 |
12341154 | 587674 |
12343254 | 587774 |
12345354 | 587874 |
12347454 | 587974 |
12349554 | 588074 |
№D732F2
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
1234*58, делящиеся на 21 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 21.
решение
Минимальное число:
(123458 // 21 + 1) * 21 = 123459
Соответствие маске:
number[0] == ‘1’ and number[1] == ‘2’ and number[2] == ‘3’ and number[3] == ‘4’ and number[-2] == ‘5’ and number[-1] == ‘8’
Результат:
1234758 | 58798 |
12341658 | 587698 |
12343758 | 587798 |
12345858 | 587898 |
12347958 | 587998 |
№5399FA
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
1234*67, делящиеся на 19 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 19.
решение
Минимальное число:
(123467 // 19 + 1) * 19 = 123481
Соответствие маске:
number[0] == ‘1’ and number[1] == ‘2’ and number[2] == ‘3’ and number[3] == ‘4’ and number[-2] == ‘6’ and number[-1] == ‘7’
Результат:
1234867 | 64993 |
12340367 | 649493 |
12342267 | 649593 |
12344167 | 649693 |
12346067 | 649793 |
12347967 | 649893 |
12349867 | 649993 |
№BED40C
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске
1234*7, делящиеся на 131 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 131.
решение
Минимальное число:
(12347 // 131 + 1) * 131 = 12445
Соответствие маске:
number[0] == ‘1’ and number[1] == ‘2’ and number[2] == ‘3’ and number[3] == ‘4’ and number[-1] == ‘7’
Результат:
1234937 | 9427 |
12341117 | 94207 |
12342427 | 94217 |
12343737 | 94227 |
12345047 | 94237 |
12346357 | 94247 |
12347667 | 94257 |
12348977 | 94267 |
Примеры из Банка заданий ЕГЭ