例如: 6可以划分为: 6 5 1 4 2 4 1 1 3 3 3 2 1 3 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 5可以划分为: 5 4 1 3 2 3 1 1 2 2 1 2 1 1 1 1 1 1 1 1
代码语言:javascript复制public class a {
//对n进行划分,a是缓冲,k是当前的位置。
public static void f(int n,int[] a,int k){
if (n<=0){
for(int i=0;i<k;i ){System.out.print(a[i] " ");}
System.out.println();
return ;
}
for(int i=n;i>0;i--){
if(k>0 && i>a[k-1]) continue;
a[k] = i;
f(n-i,a,k 1);
}
}
public static void main(String[] args){
int[] a = new int[1000];
f(6,a,0);
}
}