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


  • 0
    thuannguyen1972dn    6:03 p.m. 2 Tháng 5, 2024

    PYTHON Mãi đỉnh:
    MOD = 10**9 + 7

    def powmod(a, b):
    kq = 1
    while b > 0:
    if b % 2 == 1:
    kq = (kq * a) % MOD
    a = (a * a) % MOD
    b //= 2
    return kq

    def main():
    import sys
    input = sys.stdin.read
    data = input().split()
    n = int(data[0])
    index = 1
    results = []
    for _ in range(n):
    a = int(data[index])
    b = int(data[index + 1])
    result = powmod(a, b)
    results.append(result)
    index += 2

    for res in results:
        print(res)
    

    if name == "main":
    main()

    • 7 bình luận nữa