C ++: Как разбить строку на строки меньшего размера одинакового размера?

Как в C ++ разбить строку на одинаковые по размеру меньшая строка?

Например, у меня есть строка «012345678», и я хочу, чтобы она разбила ее на 5 меньших строк, и это должно вернуть мне что-то вроде «01», «23», «45», «67», «8».

У меня возникли проблемы с определением длины меньших струн.В предыдущем примере исходная строка имеет размер 9, и я хочу разбить ее на 5 меньших строк, поэтому каждая меньшая строка, кроме последней, должна иметь длину 9/5 = 1, но тогда последняя будет длиной 9 - 1 * 4 = 5, что недопустимо.

Итак, формальное определение этой проблемы : исходная строка разбивается на ТОЧНО n подстрок, и никакие две из подстрок не должны отличаться по длине более чем на 1.

Я не занимаюсь синтаксисом или библиотекой C ++. Это то, как разработать алгоритм, чтобы возвращаемая строка могла быть почти одинакового размера.

7
задан Shuo 21 November 2011 в 06:30
поделиться