Есть некоторое целое число R>0. Нужно найти все наборы натуральных чисел, суммы которых равны R. Числа в наборе должны быть упорядоченны, допускается несколько одинаковых чисел.
При реализации я под набором понимаю список. Т.е. хочется функцию (например splitR), которая принимает R и возвращает список списков.
Например
splitR(1) ==> [[1]]
splitR(2) ==> [[1,2], [2]]
splitR(3) ==> [[1,1,1], [1,2], [3]]
splitR(4) ==> [[1,1,1,1], [1,1,2], [1,3], [2,2], [4]]
splitR(5) ==> [[1,1,1,1,1], [1,1,1,2], [1,2,2], [1,1,3], [1,4], [2,3], [5]]
Че то голова не варит... про рекурсию я знаю;-)