Маска числа, 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’

Результат:

123767895206
12300678946206
12313678947206
12326678948206
12339678949206
12352678950206
12365678951206
12378678952206
12391678953206

№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’

123425458774
12341154587674
12343254587774
12345354587874
12347454587974
12349554588074

№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’

Результат:

123475858798
12341658587698
12343758587798
12345858587898
12347958587998

№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’

Результат:

123486764993
12340367649493
12342267649593
12344167649693
12346067649793
12347967649893
12349867649993

№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’

Результат:

12349379427
1234111794207
1234242794217
1234373794227
1234504794237
1234635794247
1234766794257
1234897794267

Примеры из Банка заданий ЕГЭ