VB程序设计一题

来源:百度知道 编辑:UC知道 时间:2024/05/28 22:44:18
编写程序求S=1*2*3*…*n,求S不大于32767时的最大的n

谢谢啦~^_^

Dim n As Long, s As Long
n = 1
s = 1
Do
s = s * n
n = n + 1
If s >= 32767 Then
s = s / (n - 1)
n = n - 2
Exit Do
End If
Loop

Private Sub Form_Load()
Dim a As Long, s As Long
a = 1
s = 1
Do While s <= 32767
s = s * a
a = a + 1
Loop
MsgBox "不大于32767时的最大为" & a

End Sub

单机窗体
Private Sub Form_Click()
Dim a As Long, s As Long
s = 1
Do While s <= 32767
n = n + 1
s = s * n
Loop
MsgBox "不大于32767时的最大为" & n
End Sub

n为什么会是8呢.明明用计算机算出来应该是7啊
那个N算出来是循环次数还是什么