level 15
把Do...Loop循环的部分改成这样:
Do
x = a Mod b
a = b
b = x
Loop While x <> 0
然后,这样求出的最大公约数应该是a,不是b,b已经和x一样等于0了
2020年10月16日 14点10分
2
level 15
或者,还有一种改法:
x = a Mod b '在循环之前先计算一次余数
Do While x <> 0 '这样才能在第一次循环之前用这个条件判断,否则就进不了循环了
a = b
b = x
x = a Mod b
Loop
这样计算出来的最大公约数就是在b当中了
你可以比较一下这两种写法
2020年10月16日 14点10分
3