zoj 1089 Lotto

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1089

递归实现的排列组合。

code:

#include<cstdio>
int data[ 20] ;
int ans[ 6], n ;
void work( int diex,  int aiex){
     int i ;
     if(aiex== 6){
         for(i= 0; i< 5; i++)
            printf( " %d  ", ans[i]) ;
        printf( " %d\n ", ans[i]) ;
     return ;
    }
     for(i=diex; i<n; i++){
        ans[aiex] = data[i] ;
        work(i+ 1, aiex+ 1) ;
    }
}
int main(){
     int i, j= 0 ;
     while(~scanf( " %d ", &n)&&n){
         if(j)   printf( " \n ") ;
        j ++ ;
         for(i= 0; i<n; i++)
            scanf( " %d ", &data[i]) ;
        work( 00) ;
    }
     return  0 ;} 

你可能感兴趣的:(ZOJ)