首页 > 其他 > 详细

69. Sqrt(x)

时间:2018-10-14 18:26:01      阅读:168      评论:0      收藏:0      [点我收藏+]

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)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!