4 /*Computes the number of combinations of _n items, taken _m at a time without
6 _n: The total number of items.
7 _m: The number taken at a time.
8 Return: The number of combinations of _n items taken _m at a time.*/
9 unsigned choose(int _n,int _m){
13 for(i=1;i<=_m;_n--,i++){
17 else if(ret%i==0)ret=(ret/i)*_n;
21 ret=(ret/(i/d))*(_n/d);