C语言求组合数

C语言求组合数,第1张

double fact(long num)

{

    for (long 森绝御i = 1 num > 0 num--)

    {

        i *= num

    }    

}

int main()

{

    long m

    long n

    long C

    

    scanf("%ld %ld", &m, &n)

    

    C = 宏启fact(n) / ((fact(m)) * fact(n-m))

    

    printf("%ld",C)

   此岩 

    return 0

}

组合数C(n,m)的计算公式为:

例题:

扩展资料:

C(n,m),表示的是从 n 个不同元素中每次取出 m 个不同元素 局伍戚 ,不管其顺橘茄序合成一组,称为从 n 个元素中不重复地选取 m 个元素的一个组合

参考资料:桐陵百度百科_组合数

C(n,m) ----------n是下标 , m是上标 (C上面m,下面n),C(n,m) 表示 n选m的组合数,等于从n开始连续递减的m个自然数的积除以从1开始连续递增的m个自然数的积。

例子:

C(8,3)=8*7*6/(1*2*3) =56

分子是从8开始连续递减的3个自然数的积

分母是从1开始连续递增的3个自然数的积

扩展资料

1、组合定义

组合(combination),数学的重要概念之一。从n个不同元素中每次取出m个不同元素(0≤m≤n),不管其顺序合成一组,称为从n个元素中不重复地选取m个元素的一个组合。

2、组合总数

组合总数(total number of combinations)是弊吵一个正整数,指从n个不同元素里每次取出0个,1个,2个,…,n个不同元素的所有组合数的总和。

3、重复组合

重复组合(combination with repetiton)是一闭卜铅种特殊的组合。从n个不同元素中可重复地选取m个元素。不管其顺序合成一组,称为从n个元素中取m个元素的可重复组合。当且仅当所取的元素相同,且同一元素所取的次数相同,则两个重复组轿好合相同。

参考资料:百度百科-组合


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12556242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存