07/07/16 06:23:03
>>6
x*x-c=0 限定なのは良いとしても,収束判定がまずい.
xn の初期値をそうとるなら sqr(100)とかは無駄に計算するし,sqr(1e-6)とかは精度が足りない.
double sqr(double c){
double x,xn=0,e = 1e-10;/* */
do {
xn += 1.0;
} while (xn * xn < c);
x = xn + 1.0;
while( fabs(xn - x) > e ) {
x = xn;
xn = (x + c / x ) / 2.0;
}
return xn;
}