Cách tính căn bậc 3 của một số bất kỳ x sử dụng phương thức Newton’s.
Phương thức Newton’s nói rằng: Nếu y là giá trị căn bậc 3 của x, thì giá trị sắp xỉ tốt hơn được cho bởi công thức:
((x/(y*y)+2*y)/3.
Dựa vào công thức đó ta có thể chuyển hóa thành một procedure để tính giá trị căn bậc ba của một số bất kỳ như sau: Code C#
double cubeRoot(double x)
{
return cubeRootIter(x, 1.0);
}
double cubeRootIter(double x, double guess)
{
if (goodEnoughForCube(x, guess)) return guess;
return cubeRootIter(x,improveGuessCube(x, guess));
}
bool goodEnoughForCube(double x, double guess)
{
return Math.Abs(guess * guess * guess – x) < 0.001;
}
double improveGuessCube(double x, double guess)
{
return ((x / (guess * guess)) + (2 * guess)) / 3;
}
Phương thức Newton như là một abstraction để tính căn bậc hai và bậc ba của một số: