求正整数M,N(M>N)的最大公约数。
算法描述步骤:
①以n除m并令所得余数为r,r必小于n。
②若r=0,算法结束,输出结果为n,否则继 续步骤③。
③将m置换为n,n置换为r,并返回步骤①继 续进行。
【代码实现】
#include <stdio.h>
int main()
{
int m, n,t,r;
scanf_s("%d%d", &m, &n);
if (n > m) {
t = n;
n = m;
m = t;
}
r = m % n;
while (r != 0) {
m = n;
n = r;
r = m % n;
}
printf("%d", n);
return 0;
}