Маска числа (3 часть)
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 |