Определите наименьшее значение n, при котором сумма цифр в строке
Условие
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в которых v и w обозначают последовательности цифр.А) заменить (v, w).Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w.Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.Если в строке нет вхождений последовательности v, то выполнение команды заменить (v, w) не меняет эту строку.Б) нашлось (v).Эта команда проверяет, встречается ли последовательность v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».Строка исполнителя при этом не изменяется. ПОКА нашлось (52) ИЛИ нашлось (1122) ИЛИ нашлось (2222) ЕСЛИ нашлось (52) ТО заменить (52,
-
КОНЕЦ ЕСЛИ ЕСЛИ нашлось (2222) ТО заменить (2222,
-
КОНЕЦ ЕСЛИ ЕСЛИ нашлось (1122) ТО заменить (1122, 25) КОНЕЦ ЕСЛИ КОНЕЦ ПОКАКОНЕЦ На вход приведённой выше программе поступает строка, начинающаяся с цифры 5, а затем содержащая n цифр 2 (3 < n < 10000). Определите наименьшее значение n, при котором сумма цифр в строке, получившаяся в результате выполнения программы, равна 88.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python.for n in range(3,10000+1): s = '5' + '2' * n while ('52' in s) or ('1122' in s) or ('2222' in s): s = s.replace('52', '1',
Осталось ещё 3 шага
s = s.replace('2222', '5'…
s = s.replace('1122', '25'…
Шаг 4
Бесплатно · займёт минуту