求立方根


求立方根


图片来源:链接
求立方根_第1张图片
输入一个正整数a,求a的立方根,已知求立方根的迭代公式为xn+1=xn×2/3+a/(3×xn×xn),其中x0=a。
输入一个整数a。
输出a的立方根,小数点保留3位。

//  类比平方根
//  立方根就是 x^3=N  这个方程的根(解)
//  看懂图片中推导过程,实际就是 你对迭代式赋个值,他都是解的近似值,
//  只是误差大小问题,而你通过不断迭代,先  x2-x1  与精度比较更新的过程
//  就是一步步靠近图像与x轴交点(解)的过程
#include
using namespace std;
typedef long long LL;
const LL mod=1e9+7;
const LL INF=0x3f3f3f3f;
const LL NN=1e7+9;
const LL N=2e5+5;



int main()
{
     
    double x2,x1=1,a;
    cin>>a;
    x2=2*x1/3+a/(3*x1*x1);
    while(abs(x2-x1)>=0.001)
    {
     
        x1=x2;
        x2=2*x1/3+a/(3*x1*x1);
    }
    printf("%.3lf",x2);
    return 0;
}

你可能感兴趣的:(日常补题,算法,c++)