Как разбить строку на последовательные подстроки длиной не более 3 всеми возможными способами?

Я пытаюсь взять строку длиной от 1 до 10 и вывести все возможные способы разбиения строки на последовательные подстроки, которые являются размером 1, 2 или 3. Например:

Ввод: 123456

Разделите целое число на отдельные символы, затем продолжайте поиск комбинаций. Код вернет все следующие массивы.

    [1, 2, 3, 4, 5, 6]  
    [12, 3, 4, 5, 6]  
    [1, 23, 4, 5, 6]  
    [1, 2, 34, 5, 6]  
    [1, 2, 3, 45, 6]  
    [1, 2, 3, 4, 56]  
    [12, 34, 5, 6]  
    [12, 3, 45, 6]  
    [12, 3, 4, 56]  
    [1, 23, 45, 6]  
    [1, 2, 34, 56]  
    [1, 23, 4, 56]  
    [12, 34, 56]  
    [123, 4, 5, 6]  
    [1, 234, 5, 6]  
    [1, 2, 345, 6]  
    [1, 2, 3, 456]  
    [123, 456]  
    [1, 23, 456]  
    [1, 234, 56]  
    [12, 345, 6]  
    [12, 3, 456]  
    [123, 4, 56]  
    [123, 45, 6]

Я пытаюсь сделать это в ruby. Спасибо!

5
задан PengOne 27 July 2011 в 22:09
поделиться