• Срочно!!! Помогите с информатикой

    Исполнитель Редактор получает на вход строку цифр и преобразует её.Редактор может выполнять две команды. Команда нашлось (v) проверяет, встречается ли цепочка v в строке, поданной на вход исполнителя. Команда заменить (v, w) заменяет в строке первое слева вхождение цепочки и на цепочку w. Дана программа для исполнителя Редактор:

    начало ПОКА нашлось (33) ИЛИ нашлось (22)

    ЕСЛИ нашлось (33)

    ТО заменить (33, 2) ИНАЧЕ заменить (22, 3)

    конец если

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

    1) 500 идущих подряд цифр 3;

    2) 500 идущих подряд цифр 2;

    3) 300 идущих подряд цифр 3 и следующих за ними 200

    идущих подряд цифр 2.

Ответы 1

  • Данный алгоритм сначала заменит 9 первых восьмерок на три двойки а затем заменит эти три двойки обратно на одну восьмерку. То есть за четыре повторения цикла из строки убирается 8 восьмерок. За восемь таких групп по четыре повторения, то есть за 8 · 4 = 32 повторения цикла из строки уберется 8 · 8 = 64 восьмерки, и останется 4 восьмерки. Первые три из них будут заменены на двойку.

     

    Ответ: 28.

     

    Приведем решение Михаила Глинского.

    Для нахождения ответа используется программа на языке Питон, выполняющая заданные преобразования строки:

    s='8'*68

    while ('222' in s) or ('888' in s):

        if ('222' in s):

            s=s.replace ('222','8',1)

        else:

            s=s.replace ('888','2',1)

    print(s)

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years