Я хотел бы определить все разделы данного списка целых чисел {1, ..., n}, где элементы разделов обладают определенной мощностью k в {1, Nmin, ..., Nmax}.
Например: для списка целых чисел {1,2,3,4} должны быть определены все разделы, для которых элементы разделов имеют мощность в {1, Nmin = 2, ..., Nmax = 3}, т.е. P1 = {{1,2}, {3,4}}, P2 = {{1,3}, {2,4}}, P3 = {{2,3}, {1,4}}, P4 = {{1}, {2,3,4}}, P5 = {{2}, {1,3,4}}, P6 = {{3}, {1,2,3}}, P7 = { {4}, {1,2,3}}, P8 = {{1,2}, {3}, {4}}, P9 = {{2,3}, {1}, {4}}, P10 = {{3,4}, {1}, {2}}, P11 = {{1,4}, {2}, {3}}.
Функция должна выглядеть так:
def detPartSpecSubSize(n: Int,Nmin: Int,Nmax:int) : List[List[List[Int]]] {
...
}
В приведенном выше примере n = 4, Nmin = 2 и Nmax = 3, а выход P = {P1, P2, ..., P11}.
Я бы хотел сделать это на Scala рекурсивно ...