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

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

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

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



Сообщение: 15
ссылка на сообщение  Отправлено: 05.06.23 20:54. Заголовок: Задача 6416 неправильный ответ


Ответ на сайте: 70
Правильный: 63
Строка: 0222222122111222121112212121122221112212212122212212222222222112211222222222112112211122111112212211211211211211112111122112211211212222121212220

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





Сообщение: 6
ссылка на сообщение  Отправлено: 11.06.23 16:21. Заголовок: Если не подбирать ра..


Если не подбирать расположение цифр в строке, а взять исходную строку s = '0' + '2' * 80 + '1' * n + '0', то получается сумма 223 при n=65.

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





Сообщение: 52
ссылка на сообщение  Отправлено: 12.06.23 20:49. Заголовок: Заметим, что при вып..


Заметим, что при выполнении оперций:
заменить (02, 101) - сумма цифр не меняется
заменить (11, 2) - сумма цифр не меняется
заменить (012, 30) - сумма цифр не меняется
заменить (010, 00) - сумма цифр уменьшается на 1, причем 1 раз, т.к. после этой замены появляются 00 и программа завершается
Исходная сумма цифр строки 2*80+1*60+еще чуток (единиц больше 60) - итого сумма была >=220
220 не простое
221 не простое
222 - не простое
223 - ПРОСТОЕ!! --> единиц не меньше 63
Это оценка - меньше, чем 63 единицы быть не может, а пример с 63 единицами показан выше.

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




Сообщение: 4028
ссылка на сообщение  Отправлено: 15.06.23 15:13. Заголовок: Спасибо, ответ и реш..


Спасибо, ответ и решение исправлены.

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



Сообщение: 1
ссылка на сообщение  Отправлено: 20.12.23 21:37. Заголовок: Добрый день! Верный ..


Добрый день!
Верный ответ на самом деле 64!!!

Если обращаться к сообщению от 12.06.23 можно заметить ошибку в рассуждениях. А конкретно:
В условии задания нас просят указать ИСХОДНОЕ количество единиц.
Сумма цифр числа, которая в конце окажется простым числом - 223. Данное число мы получаем после того, как вычтем из 224 единицу. Таким образом сумма двоек в исходном числе составляет 160, а сумма единиц 64 соответственно.

Спасибо!

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





Сообщение: 196
ссылка на сообщение  Отправлено: 29.12.23 16:26. Заголовок: Не думаю, что я ошиб..


Не думаю, что я ошиблась в ответе. ( а рассуждения я немного поправила)
Исходная сумма цифр строки 2*80+1*60+еще чуток (единиц больше 60) - итого сумма была >=220. Первое простое число после 220 включительно - 223 --> единиц было не менее 63 (2*80+63=223)
Вот код, который при исходной строке с 63 единицами, удовлетворяющей условию задачи, выдает в конце строку сумма цифр которой равна 223
 
s='0222222122111222121112212121122221112212212122212212222222222112211222222222112112211122111112212211211211211211112111122112211211212222121212220'
print(s.count('1'))
print(s.count('2'))
print(s.count('0'))
while '00' not in s:
s=s.replace('02','101',1)
s = s.replace('11', '2', 1)
s = s.replace('012', '30', 1)
s = s.replace('010', '00', 1)
print(sum(int(c) for c in s))


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



Сообщение: 20
ссылка на сообщение  Отправлено: 27.03.24 17:09. Заголовок: К вопросу о числе единиц: 63 или 64


Процитирую сначала участника с ником Ж:
"Заметим, что при выполнении операций:
заменить (02, 101) - сумма цифр не меняется
заменить (11, 2) - сумма цифр не меняется
заменить (012, 30) - сумма цифр не меняется
заменить (010, 00) - сумма цифр уменьшается на 1, причем 1 раз, т.к. после этой замены появляются 00 и программа завершается"
Но тогда возникает резонный вопрос: раз сумма цифр исходной строки уменьшается на 1, то в ней должно быть не 63, а 64 единицы?
Подвох здесь в том, что завершающая комбинации из двух нулей может получиться (и на самом деле получается для строки, предложенной в качестве решения) после замены 012 на 30, так как 30 плюс последний 0 даст 300 и алгоритм завершится без вычитания единицы!
Для проверки моего предположения я написал программу для строки из сообщения 1llumi, отключив в программе последнюю замену. Программа вывела сумму цифр строки-результата 223. Так что правильный ответ 63, только как его получить?

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





Сообщение: 299
ссылка на сообщение  Отправлено: 28.03.24 10:21. Заголовок: Согласна с Подвох з..


Согласна с

 цитата:
Подвох здесь в том, что завершающая комбинации из двух нулей может получиться (и на самом деле получается для строки, предложенной в качестве решения) после замены 012 на 30, так как 30 плюс последний 0 даст 300 и алгоритм завершится без вычитания единицы!


В конце строки как раз и стоит двойка (я не заметила этот момент). Пример подходящей строки и код остаются те же.
 
s = '0222222122111222121112212121122221112212212122212212222222222112211222222222112112211122111112212211211211211211112111122112211211212222121212220'
print(s.count('1'))
print(s.count('2'))
print(s.count('0'))
while '00' not in s:
s = s.replace('02', '101', 1)
s = s.replace('11', '2', 1)
s = s.replace('012', '30', 1)
# s = s.replace('010', '00', 1)
print(sum(int(c) for c in s))


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

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