/* Name:增量法构组合 Author:Unimen Date: 17/04/2011 15:37 Description: */ /* 解题报告:组合问题 1、打印c[n,6]组合 2、递归求解 3、注意输出格式:最后一个没有空行 4、这种最后一个没有空行的输出格式可用这种办法 */ #include <iostream> using namespace std; int szInput[13]; int szResult[6]; int k; void print(int cur, int nToInput) { if(cur == 6) { for(int i=0; i<5; ++i) cout<<szResult[i]<<" "; cout<<szResult[5]<<endl; return ; } else { for(int i=nToInput; i<k; ++i) { szResult[cur] = szInput[i]; print(cur+1, i+1); } } } int main() { bool bFlag = true; while(cin>>k && k) { if(!bFlag) { cout<<endl; } bFlag = false; for(int i=0; i<k; ++i) cin>>szInput[i]; print(0, 0); } return 0;