Автор | Сообщение |
|
Отправлено: 23.12.21 11:24. Заголовок: №4409 (24.179) не сходится ответ
Здравствуйте! Из ответа следует, что в строке есть 6347 подстрок вида CB*BC (где * это C). У меня получилось 5760. При простой проверке тоже получается 5760. while True: pos = line.find("CBCBC") if pos == -1: break line = line[pos + 1 : ] count += 1 print(count) Данный символ C может быть началом подстроки, серединой подстроки или концом подстроки. Поскольку CBCBC палиндром, то рассматривая C как начало и конец строки мы получаем одну и ту же подстроку. Если рассматривать C как середину строки, то у нас получается подстрока следующего вида **CBC и чтобы эта подстрока подходила под условие, первые два символа должны быть CB, тогда получается CBCBC - искомая подстрока, которую мы уже учли, проходя предыдущий символ C (первый в подстроке). Что я не учитываю или ответ неправильный?
|
|
|
Ответов - 4
[только новые]
|
|
|
Отправлено: 23.12.21 11:51. Заголовок: Здравствуйте! В ус..
Здравствуйте! В условии указано: «В ответе укажите сначала букву, которая чаще всего встречается на месте "*" (собственно, это и есть буква С), затем общее количество подходящих комбинаций.» Под общим количеством подходящих комбинаций имеется в виду количество не только тех комбинаций, где под "*" подразумевается наиболее часто встречающаяся буква, но ещё и количество комбинаций вида CBDBC + CBEBC, в результате мы получим: CBCBC = 5760 + CBDBC = 0 + CBEBC = 587 = 5760 + 587 = 6347. В ответ записываем "С", как символ, который встречается на месте "*" чаще всего, и общее количество подходящих под условие комбинаций. Получаем как раз: С6347.
|
|
|
|
Отправлено: 23.12.21 12:01. Заголовок: LeoShastin, спасибо!..
LeoShastin, спасибо! Меня погубила невнимательность.
|
|
|
|
Отправлено: 26.05.22 09:52. Заголовок: Простите, пожалуйста..
Простите, пожалуйста, но я не понимаю ваших рассуждений. Каким образом вы считаете количество вхождений подстроки CBCBC? s.count('CBCBC') дает 5016 вхождений прямой поиск во файлу тоже указывает это число Что я не учитываю? Пожалуйста, поясните
|
|
|
|
Отправлено: 09.06.22 01:47. Заголовок: Yflzf55 пишет: Здр..
Yflzf55 пишет: [quote]` Здравствуйте! Решали разными способами. Тут зависит от постановки задачи. Приведу пример: Найти количество "ага" в "агага". Если букву повторно считать нельзя, то s.count считает 1 "ага". Если же считать повторно, то имеем "АГАга" и "агАГА". Так и с файлом. Поэтому у вас и получаются разные ответы, что считаете по-разному.
|
|
|
|