求N选M组合数(无顺序)-易勋
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


求N选M组合数(无顺序)

发表时间:2018/10/18 12:13:55 评论(1) 浏览(5206)  评论 | 加入收藏 | 复制
   
摘 要:如果要在N个数中取M个数作为一个组合,要怎么计算出有多少个组合?
正 文:

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


或者
n元集合A中不重复地抽取m个元素作成的一个组合实质上是A的一个m元子集合。如果给集A编序  成为一个序集,那么A中抽取m个元素的一个组合对应于数段  到序集A的一个确定的严格保序映射,组合数  的常用符号还有 [1]



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

n元集合的组合总数是它的子集的个数。从n个不同元素中每次取出m个不同元素而形成的组合数  的性质是:

1、 
2、 

利用这两个性质,可化简组合数的计算及证明与组合数有关的问题。


根据组合的定义和公式,我们可以写一个函数来计算N选M的组合总数:

Private Function CombinationTotal(ByVal N As Long ,ByVal M As Long) As Long
    Dim i As Long
    Dim j As Long: j = 1
    Dim k As Long: k = 1
    
    For i = 0 To M - 1
        j = j * (N - i)
        k = k * (M - i)
    Next
    CombinationTotal = j / k
End Function

Access软件网交流QQ群(群号:198465573)
 
 相关文章
sql链接表链接表刷新函数  【123  2018/5/27】
SqlServer中Substring函数的用法   【宏鹏  2018/6/6】
计算个人所得税函数  【刘生  2018/7/7】
SQL Server字符串运算符和函数  【宏鹏  2018/8/8】
SQL Server函数之空值处理  【缪炜  2018/10/12】
常见问答
技术分类
相关资源
文章搜索
关于作者

易勋

文章分类

文章存档

友情链接