Private Sub Command1_Click()
Dim A As Integer
Dim B As Integer
Dim maxv As Integer
Dim minv As Integer
A = Val(InputBox("输入A"))
B = Val(InputBox("输入B"))
maxv = IIf(A > B, A, B)
minv = IIf(A < B, A, B)
Dim r As Integer
Do
r = maxv Mod minv
maxv = minv
minv = r
Loop While (r <> 0)
MsgBox "公约数" & maxv
End Sub
m=inputbox("")
n=inputbox("")
if m>n then
x=n
else
x=m
end if
do
y = m mod x
z = n mod x
if y = 0 then
if z = 0 then
exit do
end if
end if
x = x - 1
loop
msgbox x
vbs用穷举法写的,你可以参考下算法
Private Sub Command1_Click()
Dim i As Integer, j As Integer, n As Integer
i = Val(InputBox("输入A")): j = Val(InputBox("输入B"))
Do
n = i Mod j
i = j
j = n
If n = 0 Then
Exit Do
End If
Loop
MsgBox "公约数" & i
End Sub
最小公倍数i*j/公约数