120                                     4.     

(52 )       (),    
 nhand.   ,     
 ,        (ndeal).

 srand(time(NULL).);          //1() "" rand()
init_deck(dk) ;

print_deck(dk) ;

for (k = 0; k < ndeal; k += nhand) {
if ((nhand + k) > ndeal)
nhand = ndeal - k;

shuffle(dk) ;

 t ime ()      . -
 dk         -
 .

 for (i = 0; i <  * nhand; i += ) {

for (j = 0; j < 4; ++j)   //  
sval[j] = 0;

deal(nc, i, one_hand, dk);  // 

for (j = 0; j < ; ++j)

sval[one_hand[j].s]++;    //  
for (j = 0; j < 4; ++j)

if (sval[j] >= 5)         //5     
fcnt++;

}

 sval         
 .  deal ()     one_hand. 
one_hand [ j ] . s        0, 
 .       sval,  
 .    fcnt  , 
   .      ndeal,  
 fcnt/ndeal.

?"     13  . 127  16  . 128.

4.7.  

        .   -
   (bit field),       -
.      ,
  . :

struct pcard {//  
unsigned s : 2;