Lũy thừa của một số là số lần số đó nhân với chính nó. Còn gọi là số mũ hoặc chỉ số.
a lũy thừa b là a nhân với chính nó b lần. 7 lũy thừa 2 là 72 còn gọi là 7 bình phương, giá trị bằng 49.
Một số giá trị lũy thừa phổ biến:
Số bất kỳ lũy thừa 0 cho kết quả 1.
Số bất kỳ lũy thừa 1 cho chính số đó, vì nhân một lần không thay đổi giá trị.
Số lũy thừa âm là phép chia lặp lại. Ví dụ: a-3 = 1/a3 hoặc (1/a)*(1/a)*(1/a)
Bây giờ, hãy làm một số bài lập trình dựa trên khái niệm lũy thừa.
Trong bài toán này, ta được cho hai số N và a. Cần kiểm tra xem N có bằng a lũy thừa một số nào đó hay không.
Hãy xem ví dụ sau:
Đầu vào – N = 64, a = 2
Đầu ra – Có
Giải pháp đơn giản và hiệu quả là chia đệ quy. Nếu chia hết cho đến cuối thì trả về TRUE, ngược lại FALSE.
Ví dụ minh họa
Chương trình triển khai giải pháp:
#include <iostream> using namespace std; bool isAPowerNumber(int x, long int y) { if (x == 1) return (y == 1); long int power = 1; while (power < y) power *= x; return (power == y); } int main() { int N = 625 , a = 5; if(isAPowerNumber(a, N)) cout<<N<<" là lũy thừa của "<<a; else cout<<N<<" không phải lũy thừa của "<<a; return 0; }Kết quả
625 là lũy thừa của 5