fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. using ll = long long;
  4.  
  5. int main(){
  6. ll n;
  7. cin >> n;
  8. for(ll i = 0; i < n; i++){
  9. ll l;
  10. ll r;
  11. int ans = 1;
  12. cin >> l >> r;
  13. for(int k = 40; k >= 1; k--){
  14. int lo = 1;
  15. int hi = 1000000;
  16. ll x = -1;
  17. while(lo <= hi){
  18. ll mid = (lo + hi) / 2;
  19. ll a = 1;
  20. for(int _ = 1; _ <= k; _++){
  21. a *= mid;
  22. if(a >= l){
  23. break;
  24. }
  25. }
  26. if(a >= l){
  27. x = mid;
  28. hi = mid - 1;
  29. }
  30. else{
  31. lo = mid + 1;
  32. }
  33. }
  34. ll a = 1;
  35. for(ll _ = 1; _ <= k; _++){
  36. a *= x;
  37. if(a > r) break;
  38. }
  39. if(a <= r){
  40. ans = k;
  41. break;
  42. }
  43. }
  44. cout << "Case #" << i+1 << ": " << ans << '\n';
  45. }
  46. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Case #1: 40