Language:

English
Russian

Практикум по программированию

Для участников:
Регистрация  ||   Вход
Список соревнований
Вы не вошли в систему! Вход или регистрация.

Шифр

Time limit:1 sec.
Memory limit: 262144 KByte

Вася изобрёл свой способ шифрования. Заключается он в следующем:

1. Строка текста дополняется последним символом этой строки ноль или более раз до тех пор, пока длина строки не станет квадратом целого числа. Назовём это число N.

2. Далее текст переносится в квадрат, состоящий из N x N ячеек. Начало текста переносится в первую строку квадрата слева направо, следующие символы - во вторую строку и т.д.

3. После того, как квадрат заполнен, данные читаются оттуда, но не по строкам, как они в него заносились, а по столбцам. В начало строки заносятся символы первого столбца сверху вниз, далее символы второго столбца и т.д.

Полученная таким образом строка и является зашифрованным текстом.

Помогите Васе - напишите программу, которая реализовывала бы придуманный им способ шифрования.

В первой строке входных данных (заканчивающейся переводом строки) находится исходный текст, состоящий из латинских букв. Длина строки от 0 до 25 символов. Выведите одну строку - результат шифрования заданного текста.

Пример ввода

EXAMPLE

Пример вывода

EMEXPEALE

Комментарий к примеру

Сначала слово EXAMPLE дополняется последней буквой (E) до длины, являющейся квадратом целого числа. Получаем EXAMPLEEE. Далее эта строка заносится в квадрат 3´3 по строкам, начиная с первой. Получается квадрат

EXA

MPL

EEE

Далее этот квадрат читаем по столбцам и получаем ответ EMEXPEALE.

© Copyright ВоГУ, АВТ, Носов Д.А., Смоленцев К.Н.