Взлом шифра
Вы перехватили сообщение, которое отправил кто-то другой. Оно лежит в новом массивеintercepted и зашифровано тем же шифром, но сдвиг вам неизвестен. Впрочем, его можно вычислить:в английском языке самая частая буква — e. В коротком сообщении так бывает не всегда, но в этом так и есть.Всё сообщение написано строчными буквами.
Найдите самую частую букву сообщения. Сдвиг равен тому, на сколько мест эта буква стоит после e,потому что именно в неё превратилась e. Затем расшифруйте сообщение найденным сдвигом. Вывод заканчиваетсятак:
Ответ: Ok, I will bring the map
Самая частая буква: l
Сдвиг: 7
Расшифровка: the treasure is buried under the old treeЕсли самая частая буква стоит в алфавите раньше e, значит, сдвиг прошёл за z и продолжился с начала:если e превратилась в c, сдвиг равен 24.
Подсказка: вспомните функцию count_letter из урока о функциях, которая считает,сколько раз буква встречается в тексте. Попробуйте её для каждой буквы от a до z и оставьте ту, у которойколичество наибольшее, так же, как вы искали наибольшее значение в уроке о массивах.
Это весь проект. Ваша программа шифрует, расшифровывает и даже взламывает тайныесообщения с помощью ваших собственных функций, которые работают со строками. В следующем уроке, об указателях,вы узнаете, что такое адреса в памяти и как функция может изменить переменную вызывающего кода.
Задание
- 1
Выведите самую частую букву и сдвиг.
- 2
Выведите расшифрованное сообщение.