
在线等!VB编程。。。
足球世界杯决赛圈有32支球队,平均分成8组,以单循环方式进行小组赛,每组前两名的球队进行淘汰赛,直到产生冠亚季,编程计算总共需要安排比赛的场数。是先定义阶乘函数再循环TT...
足球世界杯决赛圈有32支球队,平均分成8组,以单循环方式进行小组赛,每组前两名的球队进行淘汰赛,直到产生冠亚季,编程计算总共需要安排比赛的场数。
是先定义阶乘函数再循环TT 展开
是先定义阶乘函数再循环TT 展开
1个回答
展开全部
'排列中的C(2,4)计算方法为4!/2!*(4-2)!
Private Sub Command1_Click()
Dim s As Integer '总比赛场次
s = 0
'小组赛循环
For i = 1 To 8 '8次循环
t = jc(4) / (jc(2) * jc(4 - 2))
s = s + t
Next
'淘汰赛
i = 16 '剩余的16个球队
Do While i > 1
i = i / 2 '每次2个球队淘汰需要的场次,直到决赛出冠军
s = s + i '淘汰赛场次
Loop
s = s + 1 '季军比赛加一场
MsgBox "共需要" & s & "场比赛可以决出冠亚季军"
End Sub
Private Function jc(n As Long) As Long
'递归阶乘函数
If n < 0 Then Exit Function
If n = 1 Then jc = 1 Else jc = n * jc(n - 1)
End Function
Private Sub Command1_Click()
Dim s As Integer '总比赛场次
s = 0
'小组赛循环
For i = 1 To 8 '8次循环
t = jc(4) / (jc(2) * jc(4 - 2))
s = s + t
Next
'淘汰赛
i = 16 '剩余的16个球队
Do While i > 1
i = i / 2 '每次2个球队淘汰需要的场次,直到决赛出冠军
s = s + i '淘汰赛场次
Loop
s = s + 1 '季军比赛加一场
MsgBox "共需要" & s & "场比赛可以决出冠亚季军"
End Sub
Private Function jc(n As Long) As Long
'递归阶乘函数
If n < 0 Then Exit Function
If n = 1 Then jc = 1 Else jc = n * jc(n - 1)
End Function
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询