求n个数选m个数的组合数

来源:互联网 发布:android新闻app源码 编辑:程序博客网 时间:2024/04/29 08:34

long com(int n,int r){
    if(n-r>r)
       r=n-r;
       int i,j,s=1;
       for(i=0,j=1;i<r;++i){
           s*=(n-i);
       for(;j<=r&&s%j==0;++j)}
       s/=j;
       return s;
}

 


int com(int n, int m)
 {
 int i, a, b, p;
 if(n<m){i=m;m=n;n=i;}
 p=1;
 a=n-m<m?n-m:m;
 b=n-m>m?n-m:m;
 for(i=1; i<=a; i++)
 p+=p*b/i;
return p;
}

原创粉丝点击