02/10/2018, 14:33

P144PROC spoj PTIT – ROUND 4C – Lũy thừa

Nguồn đề bài: http://www.spoj.com/PTIT/problems/P144PROC/ 1. Đề bài P144PROC spoj Lũy thừa bậc n của a bằng tích của n thừa số bằng nhau, mỗi thừa số có giá trị bằng a. Cho trước 2 số nguyên a và b, các bạn hãy viết chương trình tính giá trị lũy thừa a^b. Input Gồm nhiều ...

Nguồn đề bài: http://www.spoj.com/PTIT/problems/P144PROC/

1. Đề bài P144PROC spoj

Lũy thừa bậc n của a bằng tích của n thừa số bằng nhau, mỗi thừa số có giá trị bằng a.

Cho trước 2 số nguyên a và b, các bạn hãy viết chương trình tính giá trị lũy thừa a^b.

Input

Gồm nhiều test, mỗi test ghi trên 1 dòng, gồm 2 số nguyên không âm a và b ( a <= 10^9 và b <= 10^18).

Input kết thúc bởi 2 số 0.

Output

Với mỗi test, ghi ra trên một dòng kết quả phép tính lũy thừa a^b được lấy dư theo 1000 000 007.

Example

Input:
2 3
2 4
3 2
0 0

Output:
8
16
9

2. Gợi ý P144PROC spoj PTIT

– Đây là bài đệ quy cơ bản

TH1: nếu b chia hết cho 2 thì a^b = sqrt(a^(b div 2))

TH2: b không chia hết cho 2 thì a^b = a*(a^(b-1))

Đây là 1 dạng trong phương pháp chia để trị

3. Code tham khảo P144PROC spoj PTIT

0