Я пытаюсь сделать домашнее задание по математике, найти подмножество коллекции {1,2,..,n}, где n - число, указанное в коде, я не могу сделать это с помощью подсписка, поэтому мне нужно получить ваш помогите с математическим программированием.
Например, для n = 2:
[12]
[1][2]
В нем 2 элемента.
Например, для n = 3:
[1][2][3]
[12][3]
[13][2]
[23][1]
[123]
В нем 5 элементов.
В нем пять элементов.
Для n = 4:
[1][2][3][4]
[12][3][4]
[13][2][4]
[14][2][3]
[23][1][4]
[24][1][3]
[34][1][2]
[12][34]
[13][24]
[14][23]
[123][4]
[124][3]
[134][2]
[234][1]
[1234]
Он состоит из 15 элементов.
У вас есть идеи, как это сделать?
Я пробовал много возможностей с LinkedHashSet и подсписком внутри цикла, но более 2 часов я понятия не имел, как это сделать, вывод такой.
Есть ли какая-нибудь библиотека на Java для получения этого вывода? Я бы сделал это вручную, но может быть и другой способ.
import org.paukov.combinatorics.*;
import org.paukov.combinatorics.util.ComplexCombinationGenerator;
public class Main {
public static void main(String args[]){
// create a vector (A, B, B, C)
ICombinatoricsVector<String> vector = Factory.createVector(new String[] { "1", "2", "3"});
// Create a complex-combination generator
Generator<ICombinatoricsVector<String>> gen = new ComplexCombinationGenerator<String>(vector, 1);
Generator<ICombinatoricsVector<String>> gen2 = new ComplexCombinationGenerator<String>(vector, 2);
Generator<ICombinatoricsVector<String>> gen3 = new ComplexCombinationGenerator<String>(vector, 3);
// Iterate the combinations
for (ICombinatoricsVector<ICombinatoricsVector<String>> comb : gen) {
System.out.println(ComplexCombinationGenerator.convert2String(comb) + " - " + comb);
}
for (ICombinatoricsVector<ICombinatoricsVector<String>> comb : gen2) {
System.out.println(ComplexCombinationGenerator.convert2String(comb) + " - " + comb);
}
for (ICombinatoricsVector<ICombinatoricsVector<String>> comb : gen3) {
System.out.println(ComplexCombinationGenerator.convert2String(comb) + " - " + comb);
}
}
}
([1, 2, 3]) - CombinatoricsVector=([CombinatoricsVector=([1, 2, 3], size=3)], size=1)
([1],[2, 3]) - CombinatoricsVector=([CombinatoricsVector=([1], size=1), CombinatoricsVector=([2, 3], size=2)], size=2)
([2, 3],[1]) - CombinatoricsVector=([CombinatoricsVector=([2, 3], size=2), CombinatoricsVector=([1], size=1)], size=2)
([2],[1, 3]) - CombinatoricsVector=([CombinatoricsVector=([2], size=1), CombinatoricsVector=([1, 3], size=2)], size=2)
([1, 3],[2]) - CombinatoricsVector=([CombinatoricsVector=([1, 3], size=2), CombinatoricsVector=([2], size=1)], size=2)
([1, 2],[3]) - CombinatoricsVector=([CombinatoricsVector=([1, 2], size=2), CombinatoricsVector=([3], size=1)], size=2)
([3],[1, 2]) - CombinatoricsVector=([CombinatoricsVector=([3], size=1), CombinatoricsVector=([1, 2], size=2)], size=2)
([1],[2],[3]) - CombinatoricsVector=([CombinatoricsVector=([1], size=1), CombinatoricsVector=([2], size=1), CombinatoricsVector=([3], size=1)], size=3)
([1],[3],[2]) - CombinatoricsVector=([CombinatoricsVector=([1], size=1), CombinatoricsVector=([3], size=1), CombinatoricsVector=([2], size=1)], size=3)
([3],[1],[2]) - CombinatoricsVector=([CombinatoricsVector=([3], size=1), CombinatoricsVector=([1], size=1), CombinatoricsVector=([2], size=1)], size=3)
([3],[2],[1]) - CombinatoricsVector=([CombinatoricsVector=([3], size=1), CombinatoricsVector=([2], size=1), CombinatoricsVector=([1], size=1)], size=3)
([2],[3],[1]) - CombinatoricsVector=([CombinatoricsVector=([2], size=1), CombinatoricsVector=([3], size=1), CombinatoricsVector=([1], size=1)], size=3)
([2],[1],[3]) - CombinatoricsVector=([CombinatoricsVector=([2], size=1), CombinatoricsVector=([1], size=1), CombinatoricsVector=([3], size=1)], size=3)
[12][34]
и[34][12]
? Почему? - person Reut Sharabani   schedule 23.06.2015{1,...,n}
на подмножества. - person Teepeemm   schedule 23.06.2015