求Y的平方根
公式
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3632ea761c52c67330f655d2cc0eeece.png)
C++代码
#include <iostream>
#include <cmath>
using namespace std;
double getSquareBoot(double Y,double precision)
{
if (Y == 0) return (double)0;
double an1 = 0;
double an = 1;
while (1)
{
an1 = (an + Y / an) / 2;
if (fabs(an1 - an) < precision)
{
break;
}
an = an1;
}
return an1;
}
int main()
{
cout << getSquareBoot(10, 0.01)<<endl;
return 0;
}
结果
![](https://i-blog.csdnimg.cn/blog_migrate/e8174391b0c87f1ba171604b897edf7f.png)
立方根
公式
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/952afb2a0e47721af7e6fb1244c71057.png)
C++代码
#include <iostream>
#include <cmath>
using namespace std;
double getCubeRoot(double Y)
{
if (Y == 0) return (double)0;
double an1 = 0;
double an = 1;
while (1)
{
an1 = (2*an + Y / (an*an)) / 3;
if (fabs(an1 - an) < 0.0001)
{
break;
}
an = an1;
}
return an1;
}
int main()
{
double input,output;
cin >> input;
output = getCubeRoot(input);
printf("%.1f", output);
return 0;
}
结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c8dba0613dca9e1f6a6482d5f592618b.png)