严氏北美IT公司面试真题汇总和解答论坛
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Sqart Int 入参为Int

Go down

Sqart Int 入参为Int Empty Sqart Int 入参为Int

Post by Admin Sat Oct 21, 2017 4:26 pm

static final double epsilon=0.000001;
public static  int sqrt(int x,double epsilon) {
if (x < 2) return x;
double left = 0, right = x;
double mid = 0, mid_sqaure = 0;
while (true) {
mid = left + (right - left) / 2.0;
mid_sqaure = mid * mid;
    if (mid_sqaure <= x+epsilon && mid_sqaure >= x-epsilon) {
        break;
    } else if (mid_sqaure > x+epsilon) {
        right = mid;
    } else {
        left = mid;
    }
}
return (int)mid;
    }

Admin
Admin

Posts : 124
Join date : 2017-10-21

https://csinterviewquestions.forumotion.com

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum