Мне было интересно, есть ли алгоритм для разделения строки на несколько строк, чтобы результирующий набор из нескольких строк соответствовал квадратной форме, а не широкой прямоугольной форме. Позвольте мне привести несколько примеров,
Ввод: Привет, это очень длинная очередь.
Вывод:
Здравствуйте, это
действительно
длинная строка.
Вход: a b c d e f
Вывод:
a b c
d e f
Ввод: Это действительно такая длинная линия. Это конец.
Вывод:
Это действительно такая
лооооооооооооооооооооооооооооохх
строка Это конец.
Как видите, в приведенных выше примерах строка ввода укладывается в широкий прямоугольник. Но выход более-менее укладывается в квадратную форму.
По сути, здесь нужно просто подсчитать количество символов в строке и извлечь из этого числа квадратный корень. Затем введите квадратный корень из числа символов в каждой строке. Но в приведенном выше примере разделение должно выполняться с учетом переноса слов вместо символов. Есть ли какой-то стандартный алгоритм для этого? Буду признателен за любые примеры/указатели кода!