vb中求最大公约数的穷举法应如何理解

Option Base 1
Private Sub Command1_Click()
Dim G1%, G2%
G1 = Val(Text1.Text)
G2 = Val(Text2.Text)
Text3 = GCD(G1, G2)
End Sub

Function GCD(ByVal m%, ByVal n%)
Dim i%
If m < n Then
i = m
Else
i = n
End If
Do While m Mod i <> 0 Or n Mod i <> 0
i = i - 1
Loop
GCD = i
End Function

特别是这句 Do While m Mod i <> 0 Or n Mod i <> 0 如何理解 谢谢

先比较两个数的大小,然后从大的开始依次减一来试是不是最大公约数。m mod i和n mod i包括三种情况,也就是有一个为零或者都不为零,满足上述条件进入循环,要试的数字减一,然后在判断是不是满足条件 ,直到条件不成立即m mod i 和 n mod i都为0时退出循环,将i赋值给GCD。
温馨提示:答案为网友推荐,仅供参考