Lũy thừa

Xem dạng PDF

Gửi bài giải


Điểm: 0,17 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
NUS ACM Training
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho ~l~, ~r~ sao cho ~2 \leq l \leq r \leq 10^{12}~. Tìm số ~k~ nguyên dương lớn nhất sao cho tồn tại số nguyên dương ~x~ để ~l \leq x^k \leq r~.

Input

Dòng đầu tiên là số lượng test.

Mỗi dòng tiếp theo chứa hai số nguyên ~l, r~ biểu thị một test.

Output

Đối với mỗi test in ra "Case #" ~+~ số hiệu test ~+~ ": " ~+~ số ~k~ lớn nhất tìm được.

Sample Input

4
5 20
10 12
2 100
1000000000000 1000000000000

Sample Output

Case #1: 4
Case #2: 1
Case #3: 6
Case #4: 12

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -3
    tienguyen3541  đã bình luận lúc 26, Tháng 2, 2025, 14:23

    bài này ta có thể chặt nhị phân theo kiểu này: sopil: mình xin được gợi ý code

    include <bits/stdc++.h>

    using namespace std; typedef long long ll; const int maxn = 1e6;

    define oo (ll)1e12

    define fi first

    define se second

    define ii pair<ll,ll>

    define file "TEST"

    define fr(i,j,x,n) for (int i = j; i <= n; i += x)

    define frn(i,j,x,n) for (int i = j; i >= n; i -= x)

    ll po (ll a, ll b){ ll t = 1; while (b){ if (b & 1) t = t * a; a *= a; b >>= 1; } return t; } ll re(ll i, ll l, ll r, ll x, ll y){ ll res = 0; while (l <= r){ ll mid = (l + r) >> 1; if (po(mid,i) > y) r = mid - 1; else{ res = mid; l = mid + 1; } } return res; } int main (){ #ifndef ONLINE_JUDGE ifstream cin(file".INP"); ofstream cout(file".OUT"); #endif ll n; cin >> n; fr(j,1,1,n) { ll x,y; cin >> x >> y; ll res = 0; for (int i = 0; i <= 40; ++i){ ll z = re(i,2,trunc(pow(y,1.0/i))+1,x,y); // if (z == 1) break; ll k = po(z,i); if (k >= x && k <= y) res = i; }

        cout <<"Case #" <&lt;j<<": " << res<&lt;endl;
    }
    

    }


  • -5
    minhtrivy09  đã bình luận lúc 7, Tháng 8, 2024, 14:28

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • -4
      thaoq8861  đã bình luận lúc 7, Tháng 9, 2024, 2:25

      dùng hàm lower bound á


  • -7
    huy_lovely  đã bình luận lúc 18, Tháng 2, 2024, 10:31

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • 0
      An212  đã bình luận lúc 13, Tháng 3, 2024, 15:00

      l,r>=2 mà


  • 0
    baolam01662052827  đã bình luận lúc 11, Tháng 7, 2023, 18:06

    Bài này có thể không cần giải bằng tìm kiếm nhị phân


  • -140
    hbphuc2009  đã bình luận lúc 12, Tháng 7, 2022, 1:05 chỉnh sửa

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 11
    FuzZefer  đã bình luận lúc 1, Tháng 9, 2021, 15:37

    Câu này giới hạn test là bao nhiêu vậy ạ


    • 18
      leduykhongngu  đã bình luận lúc 30, Tháng 9, 2021, 15:40

      5000 test bạn nhé