无法编写立方根函数

时间:2014-01-31 21:18:48

标签: c++ root cube

我正在尝试使用以下伪代码编写名为double my_cbrt_1(double n)的多维数据集根函数:

x = 1
repeat 10 times:  x = (2x + n / x2) / 3
return x

然后写一个main,它打印n,cbrt(n)和my_cbrt_1(n)n = 3.14159乘以10为k次幂,k = -100,-10,-1,0,1,10,使用这个C ++ 11代码(仅适用于linux2):

for(auto k : {-100, -10, -1, 0, 1, 10, 100}){
    n = 3.14159 * pow(10.0, k);
    //cout goes here
}

我在开始这方面遇到了麻烦。如果有人能帮助我那将是伟大的!

1 个答案:

答案 0 :(得分:2)

首先,您应该计算一次单个数字的立方根,然后您可以将相同的函数用于新数字

简单地实现您获得的功能

double my_cbrt_1(double n)
{
    double x = 1.0;
    for(int i=0; i<10; i++)
    {
        x = (2.0*x + n / (x*x)) / 3.0;
    }
    return x;
}