C++ 写立方根函数时出错

C++ 写立方根函数时出错,c++,root,cube,C++,Root,Cube,我正在尝试使用以下伪代码编写名为double my\u cbrt\u 1(double n)的多维数据集根函数: x = 1 repeat 10 times: x = (2x + n / x2) / 3 return x 然后写一个main,它将n,cbrt(n)和my_cbrt_1(n)打印为k=-100,-10,-1,0,1,10和100的第k次幂的n=3.14159乘以10。使用此C++11代码(仅适用于linux2): 我在开始这件事时遇到了麻烦。如果有人能帮助我,那就太好了 首先,

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

x = 1
repeat 10 times:  x = (2x + n / x2) / 3
return x
然后写一个main,它将n,cbrt(n)和my_cbrt_1(n)打印为k=-100,-10,-1,0,1,10和100的第k次幂的n=3.14159乘以10。使用此C++11代码(仅适用于linux2):


我在开始这件事时遇到了麻烦。如果有人能帮助我,那就太好了

首先,您可能需要计算单个数字的立方根一次,然后您可以对新数字使用相同的函数

简单地实现您所获得的功能

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;
}
双倍my_cbrt_1(双倍n)
{
双x=1.0;

对于(int i=0;i,你有多大的距离?你在哪里被卡住?)这不是解释代码/伪代码是如何工作的地方或学习算法或语言。这是一个家庭作业问题吗?我没有得到任何实际的LOL,需要帮助开始。我是NoOB在C++中,如果你是全新的C++,从“Hello World”开始。我想你的意思是
x=(2x+n/x^2)/3
你应该用
x*x
替换
x2
!OP的公式是错误的!@hivert可能是OP试图复制上标时的一个输入错误。你的公式中会有操作顺序问题。应该是:
x=((2.0*x)+(n/(x*x)))/3.0;
最好设置一个收敛标准。这就是我实际得到的!我对他们要求的主要标准有些困惑
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;
}