На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 2
ссылка на сообщение  Отправлено: 03.01.22 15:41. Заголовок: задание 12 задача 291


Задача звучит так:
Дана программа для Редактора:
ПОКА нашлось (5555)
заменить (5555, 88)
заменить (888, 5)
КОНЕЦ ПОКА
Известно, что начальная строка состоит более чем из 400 цифр 5 и не содержит других цифр. При какой наименьшей длине исходной строки результат работы этой программы будет содержать наименьшее возможное число цифр 5?

В ответе 403, но по коду программы
for i in range(401, 1000):
s = '5'*i
while '5555' in s:
s = s.replace('5555', '88', 1)
s = s.replace('888', '5', 1)
print(i, s.count('5'))

получается ответ 405...В чем ошибка у меня?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 3 [только новые]


Администратор




Сообщение: 3154
ссылка на сообщение  Отправлено: 03.01.22 22:48. Заголовок: Спасибо за замечание..


Спасибо за замечание, в условии задачи 12.291 была опечатка. Сейчас она исправлена. Ответ 403.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 17.01.22 18:04. Заголовок: не сходится ответ в номере 12 задание 291


 
for i in range(401, 410):
s = '5' * i
while '5555' in s:
s = s.replace('5555', '88', 1)
s = s.replace('888', '5', 1)
print(i, s)

в ответе 403 (но при этом строка на выходе 555, а при ответе 404 строка на выходе 88 - и здесь наименьшее число 5), так почему 403?

Спасибо: 0 
Цитата Ответить
Администратор




Сообщение: 3191
ссылка на сообщение  Отправлено: 17.01.22 20:20. Заголовок: Ольга_Т пишет: ..


Ольга_Т пишет:
 цитата:
s = s.replace('5555', '88', 1)
s = s.replace('888', '5', 1)

Согласно исправленному условию должно быть так
     s = s.replace('5555', '8', 1) 
s = s.replace('88', '5', 1)


___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 825
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет