fork download
  1. def gcd(a, b):
  2. while b:
  3. a, b = b, a % b
  4.  
  5. return a
  6.  
  7. def findNthNumber(a, b, d, n, l, r):
  8. m = l + (r - l)//2
  9.  
  10. t = m//a + m//b - m//(a*b/d)
  11. #print(a, b, d, n, l, r, m, t, z)
  12. if t == n:
  13. return m - min(m % a, m % b, m % (a*b/d))
  14. elif t > n:
  15. return findNthNumber(a, b, d, n, l, m)
  16. else:
  17. return findNthNumber(a, b, d, n, m, r)
  18.  
  19.  
  20. T = int(input())
  21.  
  22. for t in range(T):
  23. try:
  24. a, b, n = map(int, input().split())
  25. d = gcd(a, b)
  26. if a % b == 0:
  27. result = b*n
  28. elif b % a == 0:
  29. result = a*n
  30. else:
  31. result = findNthNumber(a, b, d, n, max(min(a, b), n), min(a, b)*n)
  32. print(result)
  33. except:
  34. print(result)
Success #stdin #stdout 0.02s 27664KB
stdin
2
2 3 6
stdout
9
9