// 除算が遅い計算機のために除算を使わないで逆数を求める方法 #include "stdio.h" #include "math.h" double rev(double X){ double absX=abs(X), R=1.0, RR; while(R * absX > 1) R *= 0.5; do{ RR=R; R *= (2 - absX * R);} while(R != RR); if(X<0) R = - R; return R; } int main(){ double X; while(scanf("%lf",&X)!=EOF){ double Y=rev(X); printf(" 1/ %lf = %lf (X * Y - 1 = %le)\n",X, Y, X*Y-1); } }