nguyên. Sau đây là m t ph
ng th c th c hi n m t kĩ thu t (t
ng đ i) nhanh đ tính lũy th a s
ộ
ươ
ứ
ự
ệ
ộ
ậ
ươ
ố
ể
ừ ố
nguyên:
public static int
pow(
int
x,
int
n) {
if
(n == 0)
return
1;
// tính x mũ n/2 bằng cách đệ quy
int
t = pow(x, n/2);
// nếu n chẵn, kết quả là t bình phương
// nếu n lẻ, kết quả là t bình phương nhân với x
if
(n%2 == 0) {
return
t*t;
}
else
{
return
t*t*x;
}
}
V n đ v i ph
ng th c này là ch nó ch ho t đ ng đ
c n u k t qu nh h n 2 t . Hãy vi t l i
ấ
ề ớ
ươ
ứ
ở ỗ
ỉ
ạ ộ
ượ ế
ế
ả
ỏ ơ
ỷ
ế ạ
ph
ng th c đ k t qu là m t
ươ
ứ ể ế
ả
ộ BigInteger. Tuy v y các tham s v n là s nguyên.
ậ
ố ẫ
ố
B n có th dùng các ph
ng th c cho BigInteger là
ạ
ể
ươ
ứ
add và multiply, song đ ng dùng
ừ
pow, nh v y s
ư ậ ẽ
ch ng còn gì đ làm.
ẳ
ể
Bài t p 6
ậ
N u b n thích đ h a, bây gi đúng là lúc đ c đ n Ph l c
ế
ạ
ồ ọ
ờ
ọ ế
ụ ụ A r i làm các bài t p đó.
ồ
ậ ở