VB最大公约数 我一点也看不懂.

问题描述:

VB最大公约数 我一点也看不懂.
Private Sub Command1_Click()
Dim a As Integer,b As Integer,r As Integer
a = Val(InputBox("请输入一个数"))
b = Val(InputBox("请输入一个数"))
r = a Mod b
Do While r 0
a = b
b = r
r = a Mod b
Loop
Print b
End Sub

r = a Mod b 'r等于a除以b后的余数,例12和30的余数是6
Do While r0 '如果r不等于0进行循环,直到r=0时结束
a = b 'b的值给a
b = r 'r的值给b
r = a Mod b 'r再重新定义为b和之前余数的余数
Loop '循环
'举例:
'a=30 b=12
'r=30和12的余数=6
'r不等于0,开始循环
'a=b=12
'b=r=6
'r=12和6和余数=0
'r=0循环结束
'打印(输出)b的值=6