赤岗去到广东美术馆:下面的程序为什么会有M=N N=R啊???

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/08 09:17:24
例2 (P152例7.6) : 给出两个正整数,求它们的最大公约数。

算法:(辗转相除法)

(1)、以大数m作被除数,小的数n作为除数,相除后余数为r。

(2)、如果r=0,则n就是最大公约数。否则将n=>m, r=>n, 重复(1)。
程序及框图 :

INPUT "m,n=";m,n
r=m MOD n
WHILE r < >0
m=n
n=r
r= m MOD n
WEND
PRINT "最大公约数为:",n
END
为什么要用n除以余数啊??不懂啊 我数学也不是很差啊,怎么就不懂了呢?

“m=n,n=r”就是“n=>m, r=>n”的意思。

INPUT "m,n=";m,n
r=m MOD n //r是M 除以N的余数
WHILE r < >0 //如果R不等于0
m=n //把N的值赋给M
n=r //把R的值给N
r= m MOD n //再来...M 除以N的余数赋给R
WEND
PRINT "最大公约数为:",n
END
没问题啊