vb编程阶乘
❶ 怎么写vb的阶乘代码
1、For语句蔽缓实现
Private Sub Command1_Click()
Dim s As Long, n As Integer, i As Integer
培并氏 n = Val(Text1.Text)
s = 1
For i = 1 To n
s = s * i
Next i
Label4.Caption = Str(s)
End Sub
2、Do While语句实现
Private Sub Command1_Click()
Dim s As Long, n As Integer, i As Integer
n = Val(Text1.Text)
s = 1
i = 1
配散 Do While i <= n
s = s * i
i = i + 1
Loop
Label4.Caption = Str(s)
End Sub
(1)vb编程阶乘扩展阅读:
1~10的阶乘的结果如下:
1!=1
2!=2*1=2
3!=3*2*1=6
4!=4*3*2*1=24
5!=5*4*3*2*1=120
6!=6*5*4*3*2*1=720
7!=7*6*5*4*3*2*1=5040
8!=8*7*6*5*4*3*2*1=40320
9!=9*8*7*6*5*4*3*2*1=362880
10!=10*9*8*7*6*5*4*3*2*1=3628800
❷ VB阶乘的算法
求阶乘的两种算法
方法一(计数循环)
使用For语句。
Function Factorial(n As Integer) As Long
On Error GoTo Hander
Dim i As Long
Factorial = 1
For i = n To 1 Step -1
Factorial = Factorial * i
Next i
Exit Function
Hander:
MsgBox "数值过大!", vbExclamation, "Error"
Resume Next
End Function
方法二(递归)
简单地说,递归就是一个过程调用过程本身。
思路为:n! = n * (n-1)!
Function Factorial(n As Integer) As Long
On Error Goto Hander
If n > 0 Then
Factorial = n * Factorial(n - 1)
Else
Factorial = 1
End If
Exit Sub
Hander:
Msgbox "数值过大!",vbExclamation,"Error"
Resume Next
End Function
例如,当 n=5 时,求 Factorial(5) 的值变为 5 * Factorial(4)。而 Factorial(4) 又可变为 4 * Factorial(3) ......,Factorial(2)又可变为 2 * Factorial(1),这时 Factorial(1) = 1 已知,递归调用停止,其执行结果为 5 * 4 * 3 * 2 * 1,即 5! 。
过程中还是用了错误陷阱(On Error...),以防数值过大发生溢出错误。
❸ VB编程,求阶乘的过程
VB求阶乘需要Function 过程来实现。
Function 语句,声明 Function 过程的名称,参数以及构成其主体的代码空局。
以下是求输入数的阶乘代码:
OptionExplicit
DimSumAsDouble
DimNAsInteger
DimiAsInteger
PrivateFunctionfact(NAsInteger)AsDouble
fact=1
则亏凯DoWhileN>0
fact=fact*N
N=N-1
孙唤Loop
EndFunction
PrivateSubCommand1_Click()
N=Val(Text1.Text)
Sum=fact(N)
Text2=Sum
EndSub
PrivateSubForm_Load()
Text1="":Text2=""
EndSub
❹ VB 计算阶乘
PrivateSub乎亩拿Form_Click()
DimpAsLong,nAsInteger,iAsInteger
p=1
n=Val(InputBox("input耐老n",,5))
Fori=1To岁搭n
p=p*i
Next
Printp
EndSub
❺ vb编程求n的阶乘
DimsAsDouble,nAsInteger
n=Val(InputBox("请输入n值,不要罩茄太大哦,否则出错"))
s=1
DoWhilen>袜拆1
s=s*n
n=物好察n-1
Loop
MsgBox"这个数的阶乘为"&s
❻ vb如何输入阶乘
'给你一禅察个轿袭喊自定义函数
Function cjhs(a As Long) As Long
cjhs = 1
For i = 1 To a
cjhs = cjhs * i
Next
End Function
Private Sub Command1_Click()
'引用方法
't等闭野于3的阶乘
t = cjhs(3)
End Sub