VB 最大公约数的函数过程 有点看不懂,还请高手指教

来源:百度知道 编辑:UC知道 时间:2024/06/17 08:27:52
主要不懂的地方就是DO While循环,
后面那个循环条件是y<>0,这是什么意思啊,

Function gcd(ByVal x As Integer, ByVal y As Integer) As ingeter
Do While y <> 0
reminder = x Mod y
x = y
y = reminder
Loop
gcd = x
End Function

辗转相除法求最大公约数

求x,y的最大公约数,就用 x/y 求的余数 reminder ,如果reminder=0则 y 就是最大公约数,如果reminder<>0 则,让把y值附给x,reminder值附给y,再相除,直到余数=0 时,除数 y 的值就是最大公约数!
举例:
x=9:y=3
求最大公约数:
x mod y =0 则最大公约数是此时的y值:3

再如:x=3,y=9

x mod y =3 余数<>0 ,则执行 x=y:y=reminder后
x=3:y=3
再执行 x mod y 则 3 mod 3 =0,此时 y=3,则最大公约数=3

你如果不会辗转相除法的话,就肯定不会看懂的。因为这段代码是利用辗转相除法来求最大公约数。建议还是先学学这方面的知识吧。