求VB大佬看看这哥问题如何解决 谢谢!!

VB调用子程序,求从m个元素中取出n个元素的排列组合(m>n)。计算公式为:Cmn=m!/(n!*(m-n)!)... VB调用子程序,求从m个元素中取出n个元素的排列组合(m>n)。
计算公式为:Cmn=m!/(n!*(m-n)!)
展开
 我来答
sbj518
2019-06-25 · TA获得超过4.4万个赞
知道大有可为答主
回答量:1.1万
采纳率:81%
帮助的人:5178万
展开全部
Public Function jiecheng(ByVal n As Integer) As Integer
Dim jc As Integer = 1
For i = 1 To n
jc = jc * i
Next
Return jc
End Function

Public Function jiecheng(ByVal n As Integer) As Double
Dim jc As Double
jc = 1
For i = 1 To n
jc = jc * i
Next
jiecheng = jc
End Function

Private Function Factorial1(intN As Integer) As Integer
'采用递归计算阶乘
If intN = 0 Then
Factorial1 = 1
Else
Factorial1 = Factorial1(intN - 1) * intN
End If
End Function
给你几个阶乘的函数,你可以直接调用阶乘的函数去做哦
数学与计算机编程
2019-06-25 · TA获得超过2159个赞
知道大有可为答主
回答量:2312
采纳率:80%
帮助的人:545万
展开全部

Option Explicit

Private Sub Command1_Click()

Dim M As Double, N As Double

InputData M, "M"

InputData N, "N"

If M < N Then

Print "Combination(" & M & "," & N; ")=" & 0

Else

Print "Combination(" & M & "," & N; ")=" & Factorial(M) / (Factorial(N) * Factorial(M - N))

End If

End Sub

Public Sub InputData(ByRef t, ByVal Char As String)

t = InputBox(Char + "=", "输入框", 25)

If Int(Val(t)) <> Val(t) Or Val(t) < 0 Then

MsgBox "数据错误!请重新输入:", 16

InputData t, Char

End If

End Sub

Public Function Factorial(ByVal r)

Dim i As Integer

Factorial = 1

For i = 1 To r

Factorial = Factorial * i

Next i

End Function

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式