[題目分析]從集合(n)中選出k(本題中k=)個元素為了避免重復和漏選可分別求出包括和不包括的所有組合即包括時求出集合(n)中取出k個元素的所有組合不包括 時求出集合(n)中取出k個元素的所有組合將這兩種情況合到一起就是題目的解
int A[]n; //設集合已存於數組A中 void comb(int P[]int iint k) //從集合(n)中選取k(k<=n)個元素的所有組合 {if (k==) printf(P); else if(k<=n) {P[i]=A[i]; comb(Pi+k); comb(Pi+k); } }//算法結束
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []