raiz - ¿Cómo puedo obtener la raíz cúbica en C++?
raiz cubica ejemplos (7)
-
sqrt()no es un operador. - No puede sobrecargar
sqrt().
Explique por qué necesita sobrecargar `sqrt ()` para que podamos ayudarlo a hacer lo que quiera.
Sé cómo obtener la raíz cuadrada de un número usando la función sqrt .
¿Cómo puedo obtener la raíz cúbica de un número?
Desalentaría cualquiera de los métodos anteriores ya que no funcionaron para mí. Hice pow (64, 1/3.) Junto con pow (64, 1./3.) Pero la respuesta que obtuve fue 3
Aquí está mi lógica.
ans = pow(n, 1/3.);
if (pow(ans, 3) != n){
ans++;
}
En realidad, la ronda debe ir para que las soluciones anteriores funcionen.
La solución correcta sería
ans = redondo (pow (n, 1./3.));
La raíz n de x es igual a x ^ (1 / n), así que usa std::pow . Pero no veo qué tiene esto que ver con la sobrecarga del operador.
en C ++ 11 std::cbrt se introdujo como parte de la biblioteca matemática , puede consultar
sqrt significa "raíz cuadrada", y "raíz cuadrada" significa aumentar a la potencia de 1/2 . No existe tal cosa como "raíz cuadrada con raíz 2" o "raíz cuadrada con raíz 3". Para otras raíces , cambias la primera palabra; En su caso, está buscando cómo realizar el enraizamiento de cubos .
Antes de C ++ 11, no hay una función específica para esto, pero puede volver a los primeros principios:
- Raíz cuadrada:
std::pow(n, 1/2.)(Ostd::sqrt(n)) - Raíz de cubo:
std::pow(n, 1/3.)(Ostd::cbrt(n)desde C ++ 11) - Cuarta raíz:
std::pow(n, 1/4.) - etc.
Si espera pasar valores negativos para n , evite la solución std::pow , ya que no admite entradas negativas con exponentes fraccionarios , por lo que se agregó std::cbrt :
std::cout << std::pow(-8, 1/3.) << ''/n''; // Output: -nan
std::cout << std::cbrt(-8) << ''/n''; // Output: -2
NB Eso . es realmente importante, porque de lo contrario, 1/3 usa la división entera y da como resultado 0 .
include <cmath>
std::pow(n, 1./3.)
Además, en C ++ 11 hay cbrt en el mismo encabezado.