您的位置:首页 > 其它

如何编写分解因数的自定义函数?

2010-05-11 12:43 405 查看
Q:如何编写分解因数的自定义函数?
A:首先,我们需要一个判断质数的函数。代码如下:

Function IsPrime(ByVal N)
Dim arr(1 To 2)
For i = 2 To N ^ 0.5
If Int(N / i) = (N / i) Then
arr(1) = False
arr(2) = i
IsPrime = arr
Exit Function
End If
Next i
arr(1) = True
IsPrime = arr
End Function


该函数返回一个数组,记录是否质数的逻辑值以及其中一个因数。
主代码如下:

Function Factors(ByVal X)
Dim ArrTemp
ArrTemp = IsPrime(X)
If ArrTemp(1) Then  '若X是质数则直接返回
Factors = X
Exit Function
Else '若X不是质数,则可继续分解
Factors = ArrTemp(2) & "*" & Factors(X / ArrTemp(2))
End If
End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  function