•计算一个数字的立方根,不使用库函数
详细描述:
•接口说明
原型:
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;
}