求Y的平方根
公式
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;
}
结果
立方根
公式
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;
}
结果