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

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

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

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



Сообщение: 8
ссылка на сообщение  Отправлено: 03.01.21 20:04. Заголовок: Задание 12.140


Добрый вечер!

Скрытый текст



Для наглядности рассмотрим строку из 12 двоек: 222222222222
Тогда преобразования будут такие: 222222222222 => 622222222 => 662222 => 666 => 2
То есть за 4 итерации цикла количество двоек в строке уменьшилось на 11

Тогда за n = 21 повторений получим: 239 - 21*11 = 8 двоек:

22222222 => 62222 => 66

Мой ответ: 66

Ответ автора: 26222



UPD:
Попробовал написать программу на Python и получил следующее:
    s = '2'*239
    while '2222' in s or '666' in s:
    if '2222' in s: s = s.replace('2222', '6')
    else: s = s.replace('666', '2')
    print(s)
    Результат: 2622266222


Подскажите, пожалуйста, что может быть не так.
Заранее спасибо!

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







Сообщение: 347
ссылка на сообщение  Отправлено: 03.01.21 22:24. Заголовок: Ответ


Здравствуйте, Техноромантик!


1) Сначала (пока в строке имеются 4 идущие подряд "2")
"2" заменяются на "6": в строке будет 59 "6" и 3 "2" (239 div 4 = 59; 239 mod 4 = 3);

2) после следующих 4 циклов строка возвращается к тому же виду (сначала все "6", а затем 3 "2"), но количество "6" уменьшается на 11

3) поэтому в итоге получается 4 "6" и 3 "2" (59 mod 11 = 4);

4) Окончательно: 6666222 --> 26222


 
s = '2'*239
while '2222' in s or '666' in s:
if '2222' in s: s = s.replace('2222', '6', 1)
else: s = s.replace('666', '2', 1)
print(s)


Здесь третий аргумент (равный 1) – это количество замен, которые нужно выполнить

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 9
ссылка на сообщение  Отправлено: 03.01.21 22:30. Заголовок: polyakovss пишет: ..


polyakovss пишет:

 цитата:
Вас понял. Спасибо за ответ.



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

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