2 qq 36818386 qq_36818386 于 2017.08.30 23:23 提问

求1-10共10个数中取出3个不同的数,共有多少种组合方式

求1-10共10个数中取出3个不同的数,共有多少种组合方式,算法:使用数学中的组合公式,其中m=10,n=3 用C语言

4个回答

caozhy
caozhy   Ds   Rxr 2017.08.31 08:53
 int Combination(int n, int m)   
{   
    const int M = 10007;   
    int ans = 1;   
    for(int i=n; i>=(n-m+1); --i)   
        ans *= i;   
    while(m)   
        ans /= m--;   
    return ans % M;   
}  
调用
int n = Combination(10, 3);
printf("%d", n);
huang931027
huang931027   2017.08.31 11:13

楼上的可以666666

zhang_guyuan
zhang_guyuan   2017.09.05 12:25

有一种很简单的方法,你如果学过概率论,写一个通项公式就很简单解决问题了。

cf125313
cf125313   2017.09.05 18:12

long func(int m,int n){
int i;
log r=1;
for(i=0;i<n;i++)
{
r*=m-i;
}
return r;
}

Csdn user default icon
上传中...
上传图片
插入图片