fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. long long gcd(long long a,long long b){
  4. if(!b)return a;
  5. return gcd(b,a%b);
  6. }
  7. int main() {
  8. long long a,b,c,l;
  9. int cases;cin>>cases;
  10. while(cases--){
  11. cin>>a>>b>>l;
  12. long long gccd=gcd(a,b);
  13. long long lcm=(a*b)/gccd;
  14. long long s=1,e=l,ans=0;
  15. while(s<=e){
  16. c=(s+e)/2;
  17. cout<<c<<endl;
  18. if(((lcm*c)/(gcd(gccd,c)))>=l){
  19. ans=c;
  20. e=c-1;
  21. }
  22. else s=c+1;
  23. }
  24. if(ans)cout<<ans<<endl;
  25. else cout<<"impossible"<<endl;
  26. }
  27. return 0;
  28. }
Success #stdin #stdout 0.01s 5292KB
stdin
1
2 6 10
stdout
5
2
3
3