Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* e793 - 2 */
- #include <cstdio>
- using namespace std;
- using int64 = long long;
- typedef int64(*Fun)(int64 a, int64 b);
- struct gcd_solver
- {
- Fun gcd;
- };
- gcd_solver arr[2] = { [](int64 a, int64 b) { return a; }, [](int64 a, int64 b) { return arr[!!(a % b)].gcd(b, a % b); } };
- int main()
- {
- int64 X, Y;
- while (scanf("%lld %lld", &X, &Y), X || Y)
- {
- printf("%lld\n", arr[!!Y].gcd(X, Y));
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement