如何在C ++中计算数字的第3个根

Isa*_*kin 1 c++ math

我正在尝试计算数字的第3个根。

例如,如果 n = 8-> 2; 如果n = 27-> 3;

pow函数在平方根(x ^ 0.5)上很好用,但在第3根(x ^ 1/3)上不起作用,为什么呢?

#include <iostream>
#include <math.h>

using namespace std;

int main() {
    int e = 0.3;
    double k;
    cout << "Enter k:" << endl;
    cin >> k;
    k = pow(k, e);
    cout << "The result of k^1/3 " << k << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

dbu*_*ush 5

两个问题:

  • 您声明e为,int但尝试在其中存储一个double值,因此它会被截断。您需要声明e为,double以正确存储该值。
  • 您使用的值e不正确。 0.3与并不相同1.0/3.0,因此您的结果将不可用。使用1.0/3.0这个值来代替。