CSES - Exponentiation | Lũy thừa

Xem PDF



Thời gian:
Pypy 3 3.0s
Python 3 3.0s

Tác giả:
Dạng bài
Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Hãy tính toán các giá trị \(a^b \mod 10^9\) \(+ 7\) một cách hiệu quả.

Lưu ý: Trong bài này, ta giả định rằng \(0^0 = 1\).

Input

  • Dòng đầu tiên chứa một số nguyên \(n:\) số lượng câu hỏi.
  • Sau đó là \(n\) dòng, mỗi dòng chứa hai số \(a,b\).

Output

  • In ra các giá trị \(a^b \mod 10^9\) \(+\) \(7\).

Constraints

  • \(1 \leq n \leq 2 \cdot 10^5\)
  • \(0 \leq a, b \leq 10^9\)

Example

Sample input

3
3 4
2 8 
123 123

Sample output

81
256
921450052


Bình luận

  • MinhBùi_288 9:30 a.m. 31 Tháng 3, 2025 chỉnh sửa 4
    //ʕ•ᴥ•ʔ HARU ➻❥cutis1tgミ★
    /* 
        {\_/}               10 TIN - IOG - VNG           
        (^~^)            *************************
        />AC>                  I'm Minh Bui 
    */
    #include <bits/stdc++.h>
    
    using namespace std;
    
    #define Haru int main()
    #define ll long long
    
    const int maxn = 1e7 + 1;
    const int mod = 1e9 + 7;
    
    ll powx(ll a, ll b) {
        ll kq = 1;
        while(b > 0) {
            if(b % 2 == 1) kq = (kq * a) % mod;
            a = (a * a) % mod;
            b /= 2;
        }
        return kq;
    }
    Haru {
        int t;
        cin >> t;
        while(t--) {
            int a,b;
            cin >> a >> b;
            cout << powx(a,b) << endl;
        }
        return 0; 
    }
    
    • 10 bình luận nữa