您的位置:首页 > 其它

【华为 OJ 】求解立方根

2016-08-05 14:05 204 查看
•计算一个数字的立方根,不使用库函数

详细描述:

•接口说明

原型:

public static double getCubeRoot(double input)

输入:double 待求解参数

返回值:double  输入参数的立方根


输入描述:

待求解参数 double类型


输出描述:

输入参数的立方根 也是double类型


输入例子:

216



输出例子:


6.0

使用牛顿迭代法。 y=x-f(x)/f(x)的导数

#include <iostream>
#include <iomanip>
using namespace std;
double cuberoot(double num)
{
double x = 1;
double y;
while (1)
{
y = x - (x*x*x - num) / (3 * x*x);
if ((y*y*y - num) < 0.00001 && (y*y*y - num) > -0.00001)
return y;
else
x = y;
}
}

int main()
{
double n;
cin >> n;
cout << fixed << showpoint << setprecision(1) << cuberoot(n) << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  华为 OJ