设x,y为非0奇数,有以下结论:
#include<bits/stdc++.h>
using namespace std;
#define LL long long
LL stein(LL a, LL b) {
if(!a) return b;
if(!b) return a;
if(!(a | 1) && !(b | 1)) return stein(a >> 1, b >> 1) << 1;
else if(!(a | 1)) return stein(a >> 1, b);
else if(!(b | 1)) return stein(a, b >> 1);
return stein(abs(a - b), min(a, b));
}
int main() {
while(1) {
LL a, b;
cin >> a >> b;
cout << stein(a, b) << "\n";
}
}