码迷,mamicode.com
首页 > 编程语言 > 详细

15、【常见算法】实现sqrt函数

时间:2018-10-22 20:12:05      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:手写   std   pac   int   sqrt   写代码   查找   else   include   

问题:手写代码实现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函数

标签:手写   std   pac   int   sqrt   写代码   查找   else   include   

原文地址:https://www.cnblogs.com/Long-w/p/9831501.html

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