立方根使用苍鹭方法

时间:2015-05-21 18:25:05

标签: c++

我正在尝试在Herons方法之后实现一个立方根。

平方根工作正常,但我正在使用立方根。

我的立方体根公式是:x [i + 1] =(3 * x [i] + N / x [i] * x [i])/ 4

#include <cstdlib>
#include <iostream>
#include <vector>
#include <sstream>

using namespace std;

double Heron(int Nummer)

{
    double x = Nummer/2;

    for(int NumAppr = 0;NumAppr<100;NumAppr++)
        {
            x = (3*x+Nummer/x*x)/4;

        }
    //double y = x/3;
    cout << "root is: " << x << endl;
    return x;
}

int main()
{
    Heron(27);
    system("PAUSE");
    return EXIT_SUCCESS;
}

2 个答案:

答案 0 :(得分:1)

嗯。您在x*x附近缺少括号:

x = (3*x+Nummer/(x*x))/4;

答案 1 :(得分:0)

要获取多维数据集根目录,只需调用std::cbrt

即可
#include <cmath>
#include <iostream>

int main()
{
    std::cout << "Root is: " << std::cbrt(27) << std::endl;
}

// Output: "Root is: 3"

live demo