赤裸裸的dfs #include<iostream> using namespace std; #include<cstdio> int lotto[20]; int result[20]; int k; void dfs(int v,int t) { int i,j; result[t]=lotto[v]; if(t==6) { for(j=1;j<6;j++) printf("%d ",result[j]); printf("%d/n",result[6]); return ; } for(i=v+1;i<=k;i++) dfs(i,t+1); } int main() { int i,ca=0; while(scanf("%d",&k),k) { ca++; for(i=1;i<=k;i++) scanf("%d",lotto+i); if(ca!=1) printf("/n"); for(i=1;i<=k-5;i++) dfs(i,1); } return 0; }