Заметки репетитор по физике, математике, программированию. Разбор интересных задач, типичных ошибок и способов их решения.
y = (x + k) mod n x = (y - k) mod nгде x — символ открытого текста, y — символ шифрованного текста, n — мощность алфавита, а k — ключ. С точки зрения математики шифр Цезаря является частным случаем аффинного шифра. Шифрование с использованием ключа k = 3. Буква «Е» «сдвигается» на три буквы вперёд и становится буквой «З». Твёрдый знак, перемещённый на три буквы вперёд, становится буквой «Э», буква «Я», перемещённая на три буквы вперёд, становится буквой «В», и так далее: Исходный алфавит:
А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю ЯШифрованный:
Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я А Б В
Решил быстро набросать возможную реализацию расшифровки на языке Python.
❤ Запуск в онлайн-компиляторе:
⚙️ https://onlinegdb.com/vRtlpnv7s
📄 https://pastebin.com/J4jVbLfW<input type="text" id = 'textField'> <br>
Event oninput: <span id="result"></span> <br>
<input type="button" id = 'buttonField' value="Кнопка" disabled ="disabled" onclick = 'alert("wow")'><br>
JavaScript:
var inputText = document.getElementById('textField');
var inputButton = document.getElementById('buttonField')
inputText.oninput = disableButton;
function disableButton() {
document.getElementById('result').innerHTML = inputText.value;
inputButton.disabled = (inputText.value.split(' ').join('') == 0);
}
#программирование #javascript #js