//array為要組合的數組
public int func(int[] array
//所有遞歸的結果都保存在result中
//返回本次遞歸組合的個數
int size = ls;
if(size==
return
int num =
int subnum =
for(int i=
int[] newArray = new int[size
for(int j=
if(j!=i)
newArray[k++]=array[j];
}
subnum=func(newArray
num+=subnum;
//將組合好的所有新數組中的每個組合放在array[i]後面
int j = result
while(j<result
result[j++][ls
}
return num;
}
From:http://tw.wingwit.com/Article/program/Java/hx/201401/30283.html