牛顿迭代法求N次方根

牛顿迭代法求N次方根

这里以立方根为例:
f(x) = x^3 - y, 求解f(x) = 0时的解;
牛顿迭代思想x(n+1)= x(n)-f(n)/f '(n),那么 x=x-(x^3-y)/(3* x^2)=(2*x+y/x/x)/3;
代码:

#include
#include
using namespace std;
double cubert(const double y)
{
     
    double x;
    for(x= 1.0;abs(x*x*x-y)>1e-4;x=(2*x+y/x/x)/3);
    return x;
}
int main()
{
     
    int a;
    cin>>a;
    printf("%.1lf\n",cubert(a));
    
    return 0;
}

你可能感兴趣的:(数据结构与算法)