Trong bài viết này, chúng ta sẽ tìm hiểu về thuật toán tính lũy thừa trong ngôn ngữ lập trình C / C++. Đây là một dạng bài toán phổ biến khi bắt đầu học lập trình.
Trước khi đi vào chi tiết thuật toán, hãy ôn lại kiến thức về lũy thừa. Ví dụ: Cho hai số nguyên a và b, tính lũy thừa bậc b của a. Với a = 2 và b = 3, kết quả sẽ là 8.
Thuật toán tính lũy thừa sử dụng vòng lặp for
Dưới đây là thuật toán tính lũy thừa sử dụng vòng lặp for:
- Khai báo biến result để lưu kết quả trả về của phép tính lũy thừa. Vì kết quả có thể rất lớn, nên ta sử dụng kiểu dữ liệu long long.
- Sử dụng vòng lặp for từ 1 đến số lũy thừa b. Mỗi lần lặp, ta nhân kết quả với cơ số a.
- Kết quả trả về là biến result.
Thuật toán tính lũy thừa sử dụng hàm pow()
Ngoài cách sử dụng vòng lặp for, ngôn ngữ C / C++ cung cấp hàm pow() để tính lũy thừa. Điều này giúp chúng ta không cần lo lắng về việc số lũy thừa quá lớn làm chương trình chạy chậm.
Cú pháp hàm pow(): pow(a, b) trong đó a là cơ số và b là số lũy thừa.
Ví dụ: Để tính 4^5, ta sử dụng hàm pow(4, 5).
Ngoài ra, chúng ta cũng có thể sử dụng hàm pow() để tính lũy thừa trong C / C++. Dưới đây là một ví dụ nhỏ:
#include
#include
int main() {
int a = 4;
int b = 5;
int result = pow(a, b);
std::cout << "Ket qua: " << result << std::endl;
return 0;
}
Hình minh họa ví dụ
Ví dụ thuật toán tính lũy thừa trong C / C++
Dựa vào thuật toán tính lũy thừa trong C / C++, chúng ta có thể viết một chương trình tính lũy thừa với cơ số và số lũy thừa do người dùng nhập. Dưới đây là hai ví dụ sử dụng cả hai thuật toán để so sánh:
Ví dụ 1: Tính lũy thừa với cơ số và số lũy thừa do người dùng nhập bằng vòng lặp for.
#include
int main() {
int a, b;
printf("Nhap co so: ");
scanf("%d", &a);
printf("Nhap so luy thua: ");
scanf("%d", &b);
long long result = 1;
for (int i = 1; i <= b; i++) {
result *= a;
}
printf("Ket qua: %lld", result);
return 0;
}
Ví dụ 2: Tính lũy thừa với cơ số và số lũy thừa do người dùng nhập bằng hàm pow().
#include
#include
int main() {
int a, b;
std::cout << "Nhap co so: ";
std::cin >> a;
std::cout << "Nhap so luy thua: ";
std::cin >> b;
int result = pow(a, b);
std::cout << "Ket qua: " << result << std::endl;
return 0;
}
Ví dụ 1
Ví dụ 2
Như vậy, chúng ta đã tìm hiểu về thuật toán tính lũy thừa trong ngôn ngữ lập trình C / C++. Hãy luyện tập thật nhiều để có thể sử dụng nó một cách thành thạo. Chúc bạn thành công!