|
-16 / 3 / 0
Регистрация: 15.12.2018
Сообщений: 82
|
|
Маленький частотный анализ 106.01.2019, 16:20. Показов 45616. Ответов 14
Метки нет (Все метки)
Частотный анализ — это подсчёт, какие символы чаще встречаются в тексте. Это важнейший инструмент взлома многих классических шифров — от шифра Цезаря до шифровальной машины «Энигма». Выполним простой частотный анализ: выясним, какой символ чаще всего встречается в данном тексте.
Формат ввода Вводится одна строка. Формат вывода Выводится один символ в нижнем регистре — наиболее часто встречающийся во введённой строке, кроме пробела, без учёта регистра, если таких несколько — выводится первый по алфавиту. Пример Ввод Баобаб Вывод б
0
|
|
| 06.01.2019, 16:20 | |
|
Ответы с готовыми решениями:
14
Частотный анализ
|
|
10 / 9 / 2
Регистрация: 23.04.2014
Сообщений: 83
|
||||||
| 06.01.2019, 19:09 | ||||||
|
Конечно, не совсем корректно. Но все же
1
|
||||||
|
10 / 9 / 2
Регистрация: 23.04.2014
Сообщений: 83
|
||||||
| 06.01.2019, 19:52 | ||||||
|
Viktorrus, Небольшой косяк
Надо было, по-хорошему, еще и замутить проверку, если вдруг там есть одинаковое количество букв. Но... лень ![]() Добавлено через 3 минуты Подправленный вариант. Спасибо Viktorrus.
1
|
||||||
| 07.01.2019, 04:27 | ||||||||||||||||
Введите строку: Баобаб б пример 2: Введите строку: Баобаб абракадабра а пример 3: Введите строку: Б а л а б о л символ пробела пример 4: Введите строку: баабаб а При желании символ пробела можно игнорировать, но это нужна небольшая доработка кода. Так же можно ограничиться только буквами или выводить только русские буквы. Для этого нужно при сравнении символов учитывать , что бы они находились в определенном диапазоне. Добавлено через 28 минут Я не внимательно прочитал условие. Вот вариант, где игнорируются пробелы.
Введите строку: Б а о б а б б Добавлено через 3 часа 42 минуты Небольшая доработка для увеличения скорости при обработке текстов больших объемов, что бы в цикле for не было перебора всех букв присутствующих в тексте.
2
|
||||||||||||||||
|
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
|
||||||
| 07.01.2019, 11:43 | ||||||
1
|
||||||
| 07.01.2019, 22:48 | ||||||
|
Semen-Semenich, Ваш код конечно компактнее, но основной его недостаток, что на текстах большого объема он будет работать медленно, так как обрабатывает каждый символ с помощью цикла for, вместо использования встроенного средства Counter(s).most_common(), которое написано на языке С и работает на порядок быстрее. Что и будет проявляться именно на текстах большого объема. Мой же код циклом for обрабатывает только те несколько символов в списке, у которых окажется одинаковое количество вхождений в заданном большом тексте. Поэтому средство предложенное deathly_hallows, более эффективно, просто он поленился обработать получаемый с помощью Counter(s).most_common() список. А я просто развил его идею, доведя до конца.
Добавлено через 49 минут Да и кстати в условии говорится о рассмотрении всех символов, кроме пробела, Вы же отсекли все символы, которые не являются буквами, что не соответствует условию (это так, небольшое замечание )Добавлено через 2 часа 12 минут Вот тоже быстрый код, но более простой алгоритм. Можно сделать его более компактным, сгруппировав некоторые инструкции, но я предпочитаю более простои и более доступный для понимания, хотя и с большим количеством строк. По скорости развернутый и скомпонованный одинаковы, так как выполняется одно и то же количество инструкций, просто запись может быть более компактная и менее наглядная для понимания.
1
|
||||||
|
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
|
|
| 08.01.2019, 10:59 | |
|
Viktorrus, насчет скорости обработки согласен
0
|
|
|
208 / 95 / 15
Регистрация: 27.07.2018
Сообщений: 323
|
||||||
| 08.01.2019, 18:58 | ||||||
|
Что так сложно
![]()
2
|
||||||
|
2 / 2 / 0
Регистрация: 26.11.2019
Сообщений: 3
|
||||||
| 04.12.2019, 21:11 | ||||||
|
Код CyberGame, но немного короче
2
|
||||||
|
5 / 5 / 0
Регистрация: 05.02.2021
Сообщений: 4
|
||||||
| 15.02.2021, 14:40 | ||||||
1
|
||||||
|
3 / 3 / 0
Регистрация: 09.01.2022
Сообщений: 4
|
|
| 09.01.2022, 21:45 | |
|
1 text = input().lower()
2 max_c = 0 3 max_t = '' 4 for t in set(text) - set(' '): 5 count = text.count(t) 6 if count > max_c: 7 max_c = count 8 max_t = t 9 elif max_c == count: 10 if t < max_t: 11 max_t = t 13 12 print(max_t)
1
|
|
|
1 / 1 / 0
Регистрация: 05.12.2022
Сообщений: 7
|
||||||
| 05.12.2022, 11:38 | ||||||
1
|
||||||
|
|
||||||
| 05.12.2022, 23:00 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 11.11.2024
Сообщений: 4
|
||||||
| 16.12.2024, 18:36 | ||||||
|
Добавлено через 43 секунды
0
|
||||||
| 16.12.2024, 18:36 | |
|
Помогаю со студенческими работами здесь
15
Простой частотный анализ текста, записанного в известном алфавите
Маленький частотный анализ Маленький частотный анализ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|