//组合数
#include<stdio.h>
#include<string.h>
#include<math.h>
int com(int n, int r){// return C(n, r)
if( n-r > r ) r = n-r; // C(n, r) = C(n, 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 main()
{
int n,r;
while(scanf("%d%d",&n,&r)==2)
{
printf("%d\n",com(n,r));
}
}
组合数C(n,r)
最新推荐文章于 2020-02-01 17:45:16 发布