因为a与b和b与a mod b的最大公约数相同,可缩小问题规模至一方为0。

最小公倍数为两数乘积除以它们的最大公约数。

#include<cstdio>
using namespace std;

int GCD(int a, int b) {
    if (b == 0) {
        return a;
    } else {
        return GCD(b,  a % b);
    }
}

int main() {
    int a, b;
    while (scanf("%d%d", &a, &b) != EOF) {
        printf("%d\n", GCD(a, b));
    }
    return 0;
}