double bpow(double x, long long int n){ double r=1; double xf, xi; xf=modf(x, &xi); while( 1 ){ if( n & 1 ){ r = r*xi + r*xf; } if( n>>=1 ) { xf = xf*xf + 2*xi*xf; xi *= xi; } else return r; }}
Brak komentarzy:
Prześlij komentarz