Что будет в конце программы?(№ 291) Исполнитель Редактор получает ** вход строку цифр и...

0 голосов
51 просмотров

Что будет в конце программы?
(№ 291) Исполнитель Редактор получает на вход строку цифр и преобразовывает её.Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
1. заменить (v, w)
2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на
цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 193 идущих подряд цифр 5? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (333) ИЛИ нашлось (555)
ЕСЛИ нашлось (555)
ТО заменить (555, 3)
ИНАЧЕ заменить (333, 5)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ.
у меня выходит 5355, но с ответом не сходится


Информатика (15 баллов) | 51 просмотров
0

Да, там получится 55335

Дан 1 ответ
0 голосов
Правильный ответ

Выполним несколько первых шагов алгоритма:
1 "3", 190 "5"
2 "3", 187 "5"
3 "3", 184 "5"
Очевидно, что из 193 "5" получим в конце концов 64 "3" и 1 "5" 
(193=64*3+1):
Следующий этап:
1 "5", 61 "3", 1 "5"
2 "5", 58 "3", 1 "5"
3 "5", 55 "3", 1 "5"
56 "3", 1 "5"
...
8 "3", 1 "5"
1 "5", 5 "3", 1 "5"
2 "5", 2 "3", 1 "5"
Таким образом, из 193 "5" получится строка "55335"

(194k баллов)