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

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

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

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

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

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

Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 12??1*56, делящиеся на 317 без остатка.

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

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

for x in range(317, 10 ** 8 + 1, 317):
    s = str(x)
    try:
        if s[0:2] == '12' and s[4] == '1' and s[-2:] == '56':
            print(s, int(s) // 317)
    except IndexError:
        continue

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

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

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

12261563868
1232115638868
1251135639468
1270155640068
1289175640668


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

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


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