12.01 Исполнитель «Редактор» – известная строка
Ошибка.
Попробуйте повторить позже
Исполнитель ОРТОЦЕНТР получает на вход строку цифр и преобразовывает её. ОРТОЦЕНТР может выполнять две
команды, в обеих командах и
обозначают цепочки символов.
1.
2.
Дана программа для исполнителя ОРТОЦЕНТР:
Найдите сумму всех цифр , стоящих на нечетных позициях (нумерация индексов начинается с нуля), строки,
полученной в результате применения приведённой выше программы к строке
Решение ручками:
Начнем работу нашего алгоритма. Так как в исходной строке мы нашли , то заменим
на
.
Получим строку
На данной итерации цикла строка больше меняться не будет, идем дальше. Вновь встречаем , можем заметить, что
если встречается
, то количество
уменьшается на один, а количество
остается неизменным, тогда можем
выполнить это дейстие еще 199 раз, пока у нас не закончатся
.
Получим строку
Так как у нас уже нет комбинаций , проверяем следующие условия — находим
, меняем
на
.
Получим строку
Заметим, что после выполнения данного действия количество уменьшается на два, а количество
увеличивается
на единицу (но все появившиеся
ставятся слева). Тогда выполним это действие еще
раз
(так как у нас поделилось с остатком, то
останутся в количестве, равном данному остатку), после этого
получим:
На этом работа алгоритма завершится, ведь больше нет подходящих подстрок.
Запишем в ответ сумму цифр , стоящих на нечетных позициях. Сначала определим индексы всех
: [0, 56] и [58, 112].
Теперь среди этих отрезков находим количество нечетных индексов — оно будет равно
, тогда
общая сумма подходящих нам цифр
равна
.
Решение прогой:
s = "1" * 115 + "0" * 200 + "3" * 55 while "10" in s or "11" in s or "330" in s: if "10" in s: s = s.replace("10", "1", 1) elif "11" in s: s = s.replace("11", "3", 1) elif "330" in s: s = s.replace("330", "100", 1) print(sum([int(s[i]) for i in range(len(list(s))) if int(s[i]) == 3 and i % 2 != 0]))
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!