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

Результат:

27105311411
2201658111461
2301550111981
2311155112031
2731854114221
2741459114271
2841351114791

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

23513711181
2007127110081
2226137111181
2445147112281
2664157113381
2883167114481

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

Результат:

321657159
3410575716859
3511725717359
3612875717859
3714025718359
3815175718859
3916325719359

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

Результат:

30502071009
3052927710099
3355227711099
3551722711749
3657527712099
3854022712749
3959827713099

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