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;
}