Задание 5. Тип заданий 14: алгоритмы с исполнителем.
  • Задание:

    Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

    А) заменить (v,w).
    Б) нашлось (v).

    Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 200 идущих подряд цифр 7? В ответе запишите полученную строку.

    НАЧАЛО
       ПОКА нашлось (333) ИЛИ нашлось (777)
          ЕСЛИ нашлось (333)
             ТО заменить (333, 7)
             ИНАЧЕ заменить (777, 3)
          КОНЕЦ ЕСЛИ
       КОНЕЦ ПОКА
    КОНЕЦ

  • Решение:

    Рассмотрим алгоритм на примере строки, состоящей из 10-ти подряд идущих цифр 7:

    7777777777

    1. Условие цикла (пока нашлось 777) выполняется, условие "Если нашлось 333" не выполняется, значит первые три семёрки в строке меняются тройкой:

    37777777

    2. Условие цикла (пока нашлось 777) выполняется, условие "Если нашлось 333" не выполняется, значит первые три семёрки в строке меняются тройкой:

    337777

    3. Условие цикла (пока нашлось 777) выполняется, условие "Если нашлось 333" не выполняется, значит первые три семёрки в строке меняются тройкой:

    3337

    4. Условие цикла (пока нашлось 333) выполняется, условие "Если нашлось 333" выполняется, значит первые три тройки в строке меняются семёркой:

    77

    Цикл завершен.

    Таким образом, из строки, содержащей 10 семёрок получилась строка, содержащая 2 семёрки. То есть каждое повторение вышеописанного алгоритма удаляет из строки 8 семёрок.

    По заданию дана строка, состоящая из 200 цифр 7. Когда цикл 24 раза удалит из строки 8 семёрок, в ней останется 8 семёрок (24*8=192, 8 осталось). Рассмотрим, что произойдёт с оставшимися семёрками:

    77777777

    377777

    3377

    Строка примет вид 3377, после чего условие цикла перестанет выполняться.

    Ответ: 3377

Поделиться:
 
Комментарии (0)

Нет комментариев. Ваш будет первым!

Перевести число из в Результат: 510 = 1012