15常见算法实现sqrt函数

Posted long-w

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15常见算法实现sqrt函数相关的知识,希望对你有一定的参考价值。

问题:手写代码实现sqrt函数,即求一个整数的平方根

分析:二分查找思想

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int sqrt(int x)
 6 {
 7     long left = 0;
 8 
 9     if(x == 1)
10         return 1;
11     long right = x;
12 
13     long mid = left + (right - left)/2;
14     while(left + 1 < right)
15     {
16         if(x > mid * mid)
17         {
18             left = mid;
19         }
20         else if(x < mid * mid)
21         {
22             right = mid;
23         }
24         else
25         {
26             return mid;
27         }
28         mid = left + (right - left)/2;
29     }
30     return left;
31 }
32 
33 int main()
34 {
35     cout << "144 的平方根为:" << sqrt(144) << endl;
36     return 0;
37 }

 

以上是关于15常见算法实现sqrt函数的主要内容,如果未能解决你的问题,请参考以下文章

自己实现的一个sqrt函数

常见智能算法实现

这个代码片段有啥作用?

sqrt()函数的详解和用法

哈斯克尔。我很困惑这个代码片段是如何工作的

由于错误消息而无法计算 sqrt 函数 [关闭]