利用欧几里得算法(辗转相除法)
设a、b均为正整数,则gcd(a,b)=gcd(b,a%b)。
递归边界:0和任意一个整数a的最大公约数都是a,不是0。
#include <cstdio>
int gcd(int a, int b) {
if (b == 0)return a;
else return gcd(b, a%b);
}
int main()
{
int m, n;
while(scanf("%d%d",&m,&n)!=EOF){
printf("%d\n", gcd(m, n));
}
return 0;
}