В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
zepoo
zepoo
04.06.2021 11:48 •  Информатика

Исполнитель редактор получает на вход строку цифр и преобразовывает её. редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. заменить (v, w) нашлось (v) дана программа для исполнителя редактор: пока нашлось (555) или нашлось (333) если нашлось (333) то заменить (333, 5) иначе заменить (555, 3) конец если конец пока дана строка, состоящая из 500 цифр 5. сколько пятёрок было удалено за время обработки строки по этой программе?

Ответ:
Никочка6577890
Никочка6577890
09.10.2020 21:35

После первого шага алгоритма из 500 "5" получается 1 "3" и 497 "5"; после второго - 2 "3" и 494 "5", после третьего - 3 "3" и 491 "5"; после четвертого - 492 "5". Таким образом, после каждых 4 шагов количество "5" уменьшается на 8.

К последнему шагу алгоритма в строке останется 500-62*8 = 4 "5".

После последнего шага - 1 "3" и 1 "5", т.е. "35".

Таким образом, за время обработки из строки удалится 500-1 = 499 пятёрок.

0,0(0 оценок)
Ответ:
Leafyllall
Leafyllall
25.01.2024 22:33
Для решения данной задачи мы можем использовать подход "шаг за шагом", чтобы понять, как программа изменяет исходную строку.

1. Изначально у нас есть строка из 500 цифр 5.
2. Мы начинаем выполнение программы и проходимся по строке с помощью цикла while.
3. Первая команда в программе - "пока нашлось (555) или нашлось (333)". Мы должны искать подстроки "555" или "333".
4. На первом шаге мы находим первое вхождение "555" в строку. Так как нашлось (555), мы выполняем следующую команду.
5. Вторая команда - "заменить (555, 3)". Мы должны заменить все вхождения "555" на "3".
6. Заменяем первое вхождение "555" на "3" и получаем новую строку с 498 цифрами "5" и одной цифрой "3".
7. Возвращаемся в начало цикла и проверяем условие снова.
8. На этот раз не находим "555", но находим "333". Теперь выполняем команду "заменить (333, 5)".
9. Заменяем все вхождения "333" на "5" и получаем новую строку с 498 цифрами "5" и одной цифрой "5".
10. Возвращаемся в начало цикла и проверяем условие снова.
11. На этот раз не находим ни "555", ни "333". Условие в цикле не выполняется и мы выходим из цикла, завершая выполнение программы.

Таким образом, в результате выполнения программы было удалено две цифры 5. Одна цифра 5 была заменена на цифру 3, а другая цифра 5 была заменена на цифру 5.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?