vb求质素和约数的代码

来源:百度知道 编辑:UC知道 时间:2024/05/15 05:38:32

我只知道求约数的方法
以下是求两个正整数m和n的最大公约数的编码(采用的思想是“辗转相除法”):
Private Sub Command1_Click()
Dim m As Integer
Dim n As Integer
Dim a, b, r
m = InputBox("请输入第一个正整数")
n = InputBox("请输入第二个正整数")
a = m
b = n
r = b
Do While m > 0 And n > 0 And r <> 0
r = a Mod b
a = b
b = r
Loop
Print m; "和"; n; "的最大公约数是:"; a
End Sub

判断x是否为质数的函数:
Function Prime(x As Integer) As Boolean
Dim i As Integer
Prime = True
For i = 2 To Int(Sqr(x))
If (x Mod i = 0) Then
Prime = False
Exit For
End If
Next i
End Function
比如:Prime(2)为True
Prime(4)为False
求a,b的最大公约数函数(等值算法):
Function MaxYue(a, b As Integer) As Integer
While a <> b
If a > b Then a = a - b Else b = b - a
Wend
MaxYue = a
End Function
比如:MaxYue(18,24)为6
MaxYue(18,23)为1