Шифр «квадратный код»
Задача по программированию с проверкой онлайн
- Сложность
- Лёгкая
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Строки
- Матрицы и сетки
Зашифруйте текст методом квадратного кода. Сначала нормализуйте текст: оставьте только латинские буквы и цифры и переведите буквы в нижний регистр. Пусть получилось n символов. Запишите их по строкам в прямоугольник из r строк и c столбцов, где c наименьшее число, для которого r·c ≥ n, c ≥ r и c − r ≤ 1 (последняя строка может быть неполной). Затем прочитайте прямоугольник по столбцам слева направо: каждый столбец это кусок длиной r. Куски, в которых не хватает символов, дополняются пробелом справа до длины r. Верните все c кусков, соединённых одним пробелом. Если после нормализации ничего не осталось, верните пустую строку.
Пример: "Chill out." → "clu hlt io " (8 символов, 3 столбца, 3 строки; последний кусок дополнен пробелом).
Источник: Exercism, crypto-square · © Exercism · MIT · условие переведено и дополнено