package test1;
import java.util.LinkedList;
//输入整数,输出其所有拆分组合,如输入4 ,输出{1,1,1,1} {1,1,2} {1,3} {2,2}
public class 和组合 {
public static void f(int n,LinkedList list1,int start) {
if (n==1) {
for (int i = 0; i < list1.size(); i++)
System.out.print(list1.get(i)+ "+");
System.out.println(1);
}
else {
for (int i = start; i <= n/2; i++) {
list1.add(i);
f(n-i, list1, i);
list1.remove(list1.size()-1);
}
for (int i = 0; i < list1.size(); i++)
System.out.print(list1.get(i)+ "+");
System.out.println(n);
}
}
public static void main(String args[]) {
LinkedList list1 = new LinkedList ();
f(4, list1, 1);
}
}