Форум » Выполнение и анализ алгоритмов для исполнителей » задача № 271 (егэ-12) » Ответить

задача № 271 (егэ-12)

ordjon: Все ли правильно с условием и ответом? Алгоритм не убирает цифры "3", а наоборот, их добавляет, значит не может быть "максимально возможное количество цифр 3, которое может получиться в результате применения этой программы" меньше, чем было в исходной строке. В ответе 12. У меня получается 98 [pre2] s = '4'*23 + '5'*29 + '3'*17 while ('43' in s) or ('53' in s): if '43' in s: s = s.replace('43', '33', 1) else: s = s.replace('53', '433', 1) print('s = ', s) t = s.count('3') print('цифр "3" в строке: ', t) [/pre2] А если цифры "3" поставить в начало, то в цикл вообще можно не зайти, но это будет минимальное количество цифр "3", полученное после выполнения программы, тогда их будет 17.

Ответов - 7

Андреев: Добрый вечер, Константин Юрьевич! У меня большая просьба. Если я Вас не очень обременю, то напишите, пожалуйста, программу на Паскале для решения задач типа 262-273. С огромной благодарностью, Елена.

Андреев: Уважаемые коллеги, добрый день! Как написать на Паскале программу к решению задачи 271? Может кто знает. Подскажите. Спасибо.

polyakovss: Вариант решения задачи 271: [pre2] ### var s := '4'*23 + '5'*29 + '3'*17; while ('43' in s) or ('53' in s) do begin if '43' in s then s := s.replace('43', '33', 1) else s := s.replace('53', '433', 1) end; s.Count(x -> x = '3').Print;[/pre2]


Андреев: Увы, на Паскале не работает.

polyakovss: Предложенный вариант решения работает на PascalABC.NET v3.8

Андреев: А в более ранней версии Паскаля решение можно написать? Спасибо.

aln1947: Уважаемый ordion! Ваша программа работает нормально - ответ 98 - правильный! Спасибо!



полная версия страницы