Вася изобрёл свой способ шифрования. Заключается он в
следующем:
1. Строка текста дополняется последним символом этой
строки ноль или более раз до тех пор, пока длина строки не станет квадратом
целого числа. Назовём это число N.
2. Далее текст переносится в квадрат, состоящий из N x N ячеек.
Начало текста переносится в первую строку квадрата слева направо, следующие
символы - во вторую строку и т.д.
3. После того, как квадрат заполнен, данные читаются
оттуда, но не по строкам, как они в него заносились, а по столбцам. В начало
строки заносятся символы первого столбца сверху вниз, далее символы второго
столбца и т.д.
Полученная таким образом строка и является
зашифрованным текстом.
Помогите Васе - напишите программу, которая
реализовывала бы придуманный им способ шифрования.
В первой строке входных данных (заканчивающейся
переводом строки) находится исходный текст, состоящий из латинских букв. Длина
строки от 0 до 25 символов. Выведите одну строку - результат шифрования
заданного текста.
Пример ввода
EXAMPLE
Пример вывода
EMEXPEALE
Комментарий
к примеру
Сначала
слово EXAMPLE дополняется последней буквой (E) до длины, являющейся квадратом целого числа.
Получаем EXAMPLEEE. Далее эта строка заносится в квадрат 3´3 по строкам, начиная с первой. Получается квадрат
EXA
MPL
EEE
Далее этот квадрат читаем по
столбцам и получаем ответ EMEXPEALE.
|