How can I obtain the cube root in C++? -
i know how obtain square root of number using sqrt
function.
how can obtain cube root of number?
sqrt
stands "square root", , "square root" means raising power of 1/2
. there no such thing "square root root 2", or "square root root 3". other roots, change first word; in case, seeking how perform cube rooting.
before c++11, there no specific function this, can go first principles:
- square root:
std::pow(n, 1/2.)
(orstd::sqrt(n)
) - cube root:
std::pow(n, 1/3.)
(orstd::cbrt(n)
since c++11) - fourth root:
std::pow(n, 1/4.)
- etc.
if you're expecting pass negative values n
, avoid std::pow
solution — it doesn't support negative inputs fractional exponents, , why std::cbrt
added:
std::cout << std::pow(-8, 1/3.) << '\n'; // output: -nan std::cout << std::cbrt(-8) << '\n'; // output: -2
n.b. .
important, because otherwise 1/3
uses integer division , results in 0
.
Comments
Post a Comment