实现 int sqrt(int x) 函数,计算并返回 x 的平方根。
样例:
sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
二分法
再0到x之间找,找到一个n使得n2=x或者(n2<x&&(n+1)2>x),这样的n就是需要的,用二分法来实现,因为x2这个函数也是单调的。
int sqrt(int x) {
int beg=0;
int end=x;
int mid;
while(beg<=end)
{
mid=beg+(end-beg)/2;
if(pow(mid,2)==x||(pow(mid,2)<x&&pow(mid+1,2)>x))
{
return mid;
}
else if(pow(mid,2)<x)
beg=mid+1;
else
end=mid-1;
}
// write your code here
}
网友评论