C言語なら俺に聞け(入門編)Part 66
■ このスレッドは過去ログ倉庫に格納されています
0890デフォルトの名無しさん
2010/07/07(水) 23:57:11引数に負数とか0付近の数値を渡しちゃダメ
数値誤差の範囲が狭いから大きすぎる値もダメ
#include<stdio.h>
double mysqrt(double y)
{
double d, d_abs, x=1.0;
while(1)
{
d=y-x*x;
d_abs=(d>0)?d:-d;
if(d_abs<=1.0e-10) break;
x+=d/(2*x);
}
return x;
}
int main(void)
{
printf("%f\n", mysqrt(5));
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています