2015-08-16 4 views
0

Я искал функцию, которая возвращает разделы целого числа. Я нашел почти то, что я хотел в этом вопросе:Функция для возврата числовых разделов

Print all unique integer partitions given an integer as input

Эта функция выводит разбиения целого. Но как я могу изменить его, чтобы фактически хранить и возвращать все разделы (возможно, в списке)?

Я знаю, что Java имеет combinatoricslib. Есть что-то подобное в C#? Если нет, как я могу заставить эту функцию возвращать все возможные разделы?

+3

У вас есть код, который вы получаете застрял на? –

+0

Просто замените 'System.out.println (suffix);' в связанном коде 'partitionList.Add (суффикс)', используя 'List partitionList'. – TaW

ответ

0

Ссылка, которую вы указали, просто печатает результат, но вы хотите вернуть результат. Лучший способ, вероятно, добавить дополнительный параметр «result collector» к методу «print», и этот метод добавит в коллекционер вместо печати каждого раздела.

В зависимости от того, что вы хотите, ваш коллектор будет один из следующих действий:

// Each partition is a string of the numbers, like when printed 
List<String> partitions; 

// Each partition is a list of the numbers 
List<List<Integer>> partitions; 
Смежные вопросы