• Исполнитель Редактор получает на вход строку цифр и преобразовывает её.

    Редактор может выполнять две команды, в обеих командах v и w обозначают

    цепочки цифр.

    заменить (v, w)

    нашлось (v)

    Дана программа для исполнителя Редактор:

    НАЧАЛО

    ПОКА нашлось (333) ИЛИ нашлось (888)

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

    ТО заменить (333, 8)

    ИНАЧЕ заменить (888, 3)

    КОНЕЦ ЕСЛИ

    КОНЕЦ ПОКА

    КОНЕЦ

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

    строке, состоящей из 125 идущих подряд цифр 8? В ответе запишите полученную

    строку.

Ответы 1

  • 1. Редактор отдает приоритет комбинации 555, потому что она стоит сразу после ЕСЛИ. Потому сначала Редактор преобразует все 555 к 3.

    Среди 62 пятерок комбинация 555 встретится 20 раз (62 делим нацело на 3, потому что в группе 3 цифры). Поэтому получим 20 троек и за ними 55 (62 - 60 = 2 пятерки останутся).

    2. Теперь 555 больше нет и Редактор начнет заменяать каждые 333 на 5. Он так сделает три раза (заменит 9 троек на 555), потому что снова появится 555, которое более приоритетно. Поэтому 9 троек заменятся на 555, а 555 заменится на 3. Из 20 исходных троек обработали 9 и заменили их на одну троку, поэтому теперь будет строка из 12 троек (20 -9 + 1) и двух пятерок в конце.

    3. Снова 9 из 12 троек заменятся на 555, а те потом заменятся на 3. Получим строку 333355. В ней 333 заменится на 5. И окончательно будет 5355.

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

Войти через Google

или

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

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

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