MS10. Text encryption

Задача взята отсюда.

Условие

Зашифруйте текст из входного потока, заменяя каждый символ результатом сложения по модулю 2 его кода и кода предыдущего зашифрованного символа. Первый символ шифруется инверсией бит.

Входные данные

Символьная последовательность.

Выходные данные

Зашифрованная символьная последовательность.

Тесты :

Входные данные Выходные данные
Where is the table? a8 c0 a5 d7 b2 92 fb 88 a8 dc b4 d1 f1 85 e4 86 ea 8f b0
What a nice day! a8 c0 a1 d5 f5 94 b4 da b3 d0 b5 95 f1 90 e9 c8
Glad to see you! b8 d4 b5 d1 f1 85 ea ca b9 dc b9 99 e0 8f fa db

Код на Haxe:

Ход решения:

Считываем код первого символа, инвертируем его и выводим в шестнадцатеричной системе счисления:

Вводим вторую переменную и запускаем цикл, который будет работать, пока считывание не дойдет до переноса строки. Здесь мы считываем код очередного символа, складываем его по модулю 2 с шифром предыдущего символа, выводим через пробел шестнадцатеричное представление полученного кода и записываем этот код в первую переменную:

После окончания цикла выводим перенос строки и завершаем программу.

Ссылки:

Рабочий код для тестирования на try.haxe.org: Try Haxe !

Добавить комментарий