стереть
Класс
8 9 10 11
Нужно авторизоваться
Нужно авторизоваться
Нужно авторизоваться
Нет аккаунта?
При наличии аккаунта на платформе можно
Введите больше 6 символов
Проблемы со входом?
Введи последние 4 цифры номера, с которого
поступит звонок. Трубку брать не нужно.
Повторный звонок через
сек.
Добро пожаловать!
Зарегистрируйся и получи Демо мастер-группы на 10 дней по любимым предметам бесплатно.
Добро пожаловать!
Как тебя зовут?
Введите не меньше 2 символов
Привяжем номер телефона
Введите не меньше 2 символов
Привяжем номер телефона
Повторный звонок через
30 сек.
Теперь нужно подтвердить номер - введи последние 4 цифры номера, с которого поступит звонок. Трубку брать не нужно
Введите не меньше 2 символов
Придумаем пароль
Почти закончили! Теперь нужно создать надежный пароль
Введите не меньше 2 символов
Немного о тебе
В какой класс ты переходишь?
Укажи, какие предметы будешь или хочешь сдавать
Введите не меньше 2 символов
На почту 12345@mail.ru отправлена ссылка для сброса пароля.
OK
Информатика

Задача по теме: "Маски"

Информатика
Задание 25 Маски
Подсказка
За подсказку ты получишь лишь половину баллов
Использовать
Автор
Крылов С.С., Чуркина Т.Е. Информатика: единый государственный экзамен. — Москва: Издательство "Национальное образование", 2024. — 256 с. Материалы публикуются в учебных целях
Просмотры
516
banner-img

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

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

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

Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске ?19*8?3, делящиеся на 5171 без остатка.

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

loading
Решение
single-task__solution-banner

Решение:

Для нахождения всех подходящих чисел напишем программу на языке программирования Python:

from fnmatch import *
for x in range(0, 10**8, 5171): # Перебираем все числа от 0 с шагом 5171, будут получены числа кратные 5171
    if fnmatch(str(x), '?19*8?3'):# Проверяем полученное число соответствию заданию
        print(x, x // 5171)

 

Данный код использует модуль fnmatch для сопоставления строк с шаблонами. В цикле перебираются все числа от 0 до 10^8 с шагом 5171. Для каждого числа проверяется, соответствует ли оно шаблону '?19*8?3', где символ '?' заменяет любой одиночный символ, а символ '*' заменяет любую последовательность символов. Если число соответствует шаблону, оно выводится на экран, а также выводится результат деления этого числа на 5171.


Ответ: 11908813 2303 71995833 13923 81975863 15853 91955893 17783

На экзамене это задание принесло бы тебе 2/2 баллов.
Решать еще

Сообщение об ошибке

Расскажите, в каком месте допущена ошибка, мы как можно быстрее её исправим. Спасибо за обратную связь!

Здравствуйте!

Выберите информацию о себе ниже

pay-success-img

Оплата прошла успешно!

pay-un-success-img

Оплата не прошла

Попробуйте снова