Giới Thiệu
Bạn mới bước chân vào thế giới lập trình C/C++ và đang băn khoăn về cách tính căn bậc n của một số? Bài viết này sẽ là kim chỉ nam giúp bạn hiểu rõ hơn về hàm căn bậc n, từ đó áp dụng vào các bài toán lập trình một cách hiệu quả.
Chúng ta sẽ cùng nhau tìm hiểu cách tính căn bậc n với n là một số bất kỳ (n >= 2). Bài viết sẽ giải đáp các thắc mắc thường gặp như:
- Làm sao để tính căn bậc n khi trong C/C++ chỉ có hàm
sqrt
để tính căn bậc 2? - Công thức toán học nào được sử dụng để tính căn bậc n trong C/C++?
- Cách thức triển khai code tính căn bậc 3, từ đó có thể áp dụng cho căn bậc n.
Hãy cùng tìm hiểu nhé!
Tính Căn Bậc 3 Trong C/C++
Để tính căn bậc 3 trong C/C++, bạn có thể sử dụng hàm pow()
. Hàm này có cú pháp như sau:
double pow (double base, double exponent);
Trong đó:
base
: Cơ số.exponent
: Số mũ.
Để tính căn bậc 3 của một số x
, ta sử dụng công thức x^(1/3)
.
Ví dụ: Tính căn bậc 3 của 8:
#include #include int main() { int a = 8; printf("%f", pow(a, 1.0/3)); // Chú ý: Sử dụng 1.0/3 để tránh ép kiểu số nguyên return 0; }
Kết quả: 2.000000
Lưu ý: Để tính căn bậc n của số a
, bạn có thể áp dụng công thức tương tự: pow(a, 1.0/n)
.
Tính Căn Bậc 3 Không Dùng Hàm Pow
Ngoài cách dùng hàm pow()
, bạn cũng có thể tính căn bậc 3 bằng cách xây dựng một chuỗi số hội tụ về căn bậc 3 của số cần tính. Phương pháp này cho phép bạn kiểm soát độ chính xác của kết quả.
Dưới đây là một ví dụ minh họa cho cách tính căn bậc 3 của 2 với độ chính xác 0.00000001:
//////////////////////////////////////////////////////////////////////// // Cube root of 2 by Nguyen Van Noi - DHTG // Email: [email protected] ///////////////////////////////////////////////////////////////////// #include double myabs(double x) { return ((x>=0)?x:(-x)); } void main() { double a=2.0, xo, xn=1, e=1e-8; do { xo=xn; xn=(a/xo/xo+2.0*xo)/3.0; } while (myabs(xn-xo)>e); printf("Can bac 3 cua 2 = %1.8fn",xn); }
Kết Luận
Bài viết đã giới thiệu đến bạn cách tính căn bậc n trong C/C++, bao gồm cách sử dụng hàm pow()
và phương pháp xây dựng chuỗi số hội tụ. Hy vọng bài viết đã cung cấp cho bạn kiến thức bổ ích để áp dụng vào quá trình học tập và làm việc với ngôn ngữ lập trình C/C++.