1. Главная
  2. Библиотека
  3. Информационные технологии
  4. и обозначают цепочки цифр Первая команда заменяет в стр...
Разбор задачи

и обозначают цепочки цифр Первая команда заменяет в строке первое слева вхождение цепочки и на цепочку и, вторая проверяет, встречается ли цепочка и в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в

  • Предмет: Информационные технологии
  • Автор: Кэмп
  • #Программирование (языки C++, Java, Python и др.)
  • #Алгоритмы и структуры данных
и обозначают цепочки цифр Первая команда заменяет в строке первое слева вхождение цепочки и на цепочку и, вторая проверяет, встречается ли цепочка и в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в

Условие:

и обозначают цепочки цифр

Первая команда заменяет в строке первое слева вхождение цепочки и на цепочку и, вторая проверяет, встречается ли цепочка и в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь»

К исходной строке, содержащей не более 35 единиц и не содержащей других символов, применили приведенную ниже программу.

НАЧАЛО
ПОКА нашлось (111)
Заменить (111, 33)
заменить (333, 1)
КОНЕЦ ПОКА

В результате получилась строка 131. Сколько различных значений количества единиц может быть в исходной строке?

Решение:

  1. Задачу можно рассматривать как последовательное применение двух команд. Первая команда заменяет левейшее вхождение цепочки "111" на "33", то есть удаляет три единицы и вставляет две тройки. Вторая команда ищет цепочку "333" и, если находит, заменяет её на одну единицу.

  2. Пусть в данный момент строка содержит x единиц и y троек. Тогда можно ввести инвариант I = x – 2·y.
    Начальное состояние: y = 0, I = n (где n – число единиц в исходной строке).

  3. Проанализируем влияние команд:
    а) Команда Заменить(111,33) заменяет тр...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое свойство инварианта I = x – 2y (где x — количество единиц, y — количество троек) является ключевым для решения задачи?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет