Задание №4555. Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: 1) символ «?» означает ровно одну произвольную цифру; 2) символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 1234*58, делящиеся на 21 без остатка. В ответе сначала запишите все найденные числа в порядке возрастания, а затем – соответствующие им результаты деления этих чисел на 21.

Задание №4555.
Создание собственной программы. ЕГЭ по информатике

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:

1) символ «?» означает ровно одну произвольную цифру;

2) символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.

Например, маске 123*4?5 соответствуют числа 123405 и 12300405.

Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 1234*58, делящиеся на 21 без остатка.

В ответе сначала запишите все найденные числа в порядке возрастания, а затем – соответствующие им результаты деления этих чисел на 21.

Пояснение:
Решим задание, написав программу на языке программирования Python.

for x in range(21, 10 ** 8 + 1, 21):
    s = str(x)
    if s[0:4] == '1234' and s[-2:] == '58':
        print(s, int(s) // 21)

Таким образом, получаем

Найденные
числа

Результаты
их деления
на 21

123475858798
12341658587698
12343758587798
12345858587898
12347958587998


Показать ответ

Источник: ФИПИ. Открытый банк тестовых заданий
Сообщить об ошибке


Тест с похожими заданиями