c++?

Tags: 超讚, 平方根,

#include "stdafx.iik"

#include

double squareRoot (double radicand, double precision) ;

int _tmain(int argc, _TCHAR* argv[])

{

std ::cout << squareRoot(9, 0.000001) << std ::endl ;

return 0;

}

double squareRoot (double radicand, double precision)

{

if (radicand > 0)

{

double squareRoot = radicand / 10 ;

while (squareRoot * squareRoot > radicand)

squareRoot /= 2 ;

double fakePrecision = 0.1;

while (1)

{

while ((squareRoot + fakePrecision) * (squareRoot + fakePrecision) <= radicand)

{

squareRoot += fakePrecision ;

}

if (fakePrecision > precision)

{

fakePrecision /= 10 ;

}

else

{

return squareRoot ;

}

}

}

else

{

std ::cerr << "Radicand must > 0" << std ::endl ;

return 0 ;

}

}

相關問題答案