用辗转相除法求两个正整数的最大公约数。
“辗转相除法” 求两个正整数的最大公约数的算法提示如下:
① 将两数中大的那个数放在m中,小的放在n中。
② 求出m被n除后的余数r。
③ 若余数为0则执行步骤⑦;否则执行步骤④。
④ 把除数作为新的被除数;把余数作为新的除数。
⑤ 求出新的余数r。
⑥ 重复步骤③到⑤。
⑦ 输出n,n即为最大公约数。
#include <stdio.h>
main ()
{
int r,m,n,t;
scanf("%d%d",&m,&n);
if (m<n)
t=n;
n=m;
m=t;
r=m%n;
while(r)
{ m=n;
n=r;
r=m%n;
}
printf("%d\n",n);
}