VB求解组合数问题
2020/10
往期精彩●VB中MsgBox()函数与MsgBox语句异同分析●如何用VB编程开发纸牌接龙游戏?●Visual Basic 文件操作方法总结
组合数:指从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;
从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。
组合数的求解公式如下图:
VB代码求解过程
我们首先要根据组合数的概念及定义,将求解算法分析处理,然后用VB编程来实现本功能。
窗体界面如下图:
代码实现:
Private Sub f(m As Integer, p As Long) '自定义过程求阶乘Dim i As Integer '声明局部变量p = 1 '赋初值 For i = 1 To m '求m 的阶乘 p = p * i '结果返给参数p Next i End Sub Private Sub Command1_Click() '求组合数Dim m As Integer, n As IntegerDim c As Long, f1 As Longm = Val(Text2) '取文本框的值n = Val(Text1)Call f(m, f1) '调用子过程,求m的阶乘c = f1 '阶乘的结果存到变量c里Call f(n, f1) '调用子过程,求n的阶乘c = c / f1 '阶乘的结果参与运算然后再存回变量c里Call f(m - n, f1) '调用子过程,求同m-n的阶乘c = c / f1 '阶乘的结果参与运算然后再存回变量c里Text3 = c '最后求得的组合数在文本框中输出 End Sub实际运行结果图:
![ef77f20007bd654ab61e5c053f8a01f7.png](https://i-blog.csdnimg.cn/blog_migrate/1f962c085abb16fa8ff46cd61d83518f.png)
![8cb75bedcaa3b8dfe89930434672d4a0.gif](https://i-blog.csdnimg.cn/blog_migrate/4da6572594e2aaf8e1e49b5cb60bf874.gif)
大家在学习VB中有不懂之处或者需要VB视频学习资料,可以添加在线学习小编微信号,更多VB精彩编程内容,尽在跟我学VB。