码迷,mamicode.com
首页 > 其他好文 > 详细

69. Sqrt(x)

时间:2018-10-14 19:02:20      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:div   ant   type   run   only   Plan   class   HERE   where   

Implement int sqrt(int x).

Compute and return the square root of x, where x is guaranteed to be a non-negative integer.

Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.

Example 1:

Input: 4
Output: 2

Example 2:

Input: 8
Output: 2
Explanation: The square root of 8 is 2.82842..., and since 
             the decimal part is truncated, 2 is returned.
 1 int mySqrt(int x) {
 2     int mid,low=1,high=x;
 3     if(x<2)
 4         return x;
 5     while(low<=high){
 6         //如果直接mid=(low+high)/2的话可能会溢出,数字够大的情况下 
 7         mid=low+(high-low)/2; 
 8         if(mid==x/mid)    break;
 9         else if(mid<x/mid)    low=mid+1;
10         else    high=mid-1;        
11     }
12     if(mid>x/mid)
13         return    mid-1;
14     else
15         return mid; 
16 }

 

69. Sqrt(x)

标签:div   ant   type   run   only   Plan   class   HERE   where   

原文地址:https://www.cnblogs.com/real1587/p/9787052.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!