Форум » Выполнение и анализ алгоритмов для исполнителей » Задание 14, номер 200 » Ответить

Задание 14, номер 200

Гость: Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось (222) заменить (222, 1) заменить (111, 2) КОНЕЦ ПОКА КОНЕЦ Какая строка получится в результате применения приведённой программы к строке вида 1…12…2 (2019 единиц и 2019 двоек)? Не могу разобраться в этом задании. Где я ошибаюсь? Начало - встречаю три двойки, заменяю единицей. До конца строки единиц нет, замена трех единиц на двойку в начале строки. И так три раза подряд. Потом с начала строки замена трех двоек на единицу и трех единиц на двойку. Получается 121..1(2010)2..2(2010). Два цикла замена двоек и единиц приводит к строке 12221.11(2006)2..2(2004). Теперь замена трех двоек с начала строки, замена трех единиц. Получается 1121..1(2003)2..2(2004). Через пять циклов получается строка 121..1(1992)2..2(1992). Т.о. от 121..1(2010)2..2(2010) к 121..1(1992)2..2(1992) у нас поглощаются по 8 цифр. 2010/8 получаю 251 циклов + 2 цифры в остатке. Беру на один цикл меньше, т.е. по 10 цифр "1" и "2". Это строка 1211111111112222222222. Повторяю программу. Получается 112212.

Ответов - 18, стр: 1 2 All

polyakovss: StupNum пишет: гораздо более простое и лаконичное решение на питоне с выводом всех проходов алгоритма для подобной задачи Сообщения, к которым относится это утверждение, датированы мартом и августом 2019 года. В это время использовать на экзамене системы программирования не разрешалось.

Mari: Добрый вечер. вопрос по заданию 211. Ответ 123, у меня получается 213. Не могу понять в чем моя ошибка. НАЧАЛО ПОКА нашлось (11) заменить (11, 2) заменить (22, 3) заменить (33, 1) КОНЕЦ ПОКА КОНЕЦ Какая строка получится в результате применения приведённой программы к строке вида 1…12…23….3 (13 единиц, 13 двоек и 13 троек)? 1111..2222..3333 Получила 1111111 222222222 11 333333333 далее 122222 1111 33333 Проверяла на Редакторе Visual_C#. До этого момента все совпадает, а далее нет. Мое решение 13222 11111 333 1332 111111 3 11 2 11111 333 3 1111113 3211113 322113 33113 1113 213

Поляков: [pre2] s = 13*'1' + 13*'2' + 13*'3' while '11' in s: print('*') s = s.replace( '11', '2', 1 ) print(s) s = s.replace( '22', '3', 1 ) print(s) s = s.replace( '33', '1', 1 ) print(s)[/pre2]




полная версия страницы