Условие КЕГЭ: Тип 12 № 2120 Условие Поляков: Тип 12 № 5419
Исходная строка состояла из семидесяти троек. Определите сумму цифр в строке, полученной в результате работы алгоритма.
НАЧАЛО
ПОКА нашлось(333) или нашлось(77777)
ЕСЛИ нашлось(333)
ТО заменить(333,77)
ИНАЧЕ заменить(77777,7)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Вариант 1: решение через замену строки
Комментарии к первому варианту решения задачи:
“333”
или подстрока “77777”
цикл while
будет выполнять действия“333”
“333”
на “77”
именно 1 раз“77777”
на “7”
именно 1 раз“7”
и “3”
, то мы выводим количество найденных цифр, умноженное на их значение# Код решения Вариант 1
s = '3' * 70
while '333' in s or '77777' in s:
if '333' in s:
s = s.replace('333', '77', 1)
else:
s = s.replace('77777', '7', 1)
print(s.count('7') * 7 + s.count('3') * 3)
Вариант 2: решение через функцию
Комментарии ко второму варианту решения задачи:
“333”
или подстрока “77777”
цикл while
будет выполнять действия“333”
“333”
на “77”
именно 1 раз