File tree Expand file tree Collapse file tree 1 file changed +18
-7
lines changed Expand file tree Collapse file tree 1 file changed +18
-7
lines changed Original file line number Diff line number Diff line change 1
1
#include < iostream>
2
2
#include < cassert>
3
3
4
- /* Calculate the square root of any number in O(logn) time, with precision fixed */
4
+ /* Calculate the square root of any
5
+ number in O(logn) time,
6
+ with precision fixed */
5
7
6
- double Sqrt (double x){
8
+ double Sqrt (double x)
9
+ {
7
10
double l = 0 , r = x;
8
- // Epsilon is the precision. A great precision is between 1e-7 and 1e-12.
11
+ /* Epsilon is the precision.
12
+ A great precision is
13
+ between 1e-7 and 1e-12.
9
14
double epsilon = 1e-12;
10
- while (l <= r){
15
+ */
16
+ while ( l <= r )
17
+ {
11
18
double mid = (l + r) / 2 ;
12
- if (mid * mid > x){
19
+ if ( mid * mid > x )
20
+ {
13
21
r = mid;
14
- } else {
15
- if (x - mid * mid < epsilon){
22
+ }
23
+ else
24
+ {
25
+ if ( x - mid * mid < epsilon )
26
+ {
16
27
return mid;
17
28
}
18
29
l = mid;
You can’t perform that action at this time.
0 commit comments