提交时间:2024-10-07 15:41:46
运行 ID: 33334
#include <cstdio> #include <iostream> #include <algorithm> using namespace std; typedef long long LL; int q; LL n, m, k; LL len, num; LL lcm(LL n, LL m) { return n * m / __gcd(n, m); } bool check(LL mid) { LL s = mid / len * num; mid %= len; s += mid / n + mid / m; return s >= k; } int main() { scanf("%d", &q); while (q--) { scanf("%lld %lld %lld", &n, &m, &k); len = lcm(n, m); num = len / n + len / m - 2; LL l = 1, r = 9e18; while (l < r) { LL mid = l + r >> 1; if (check(mid)) r = mid; else l = mid + 1; } printf("%lld\n", l); } return 0; }