(
doublea) {
17 if(a > 0 && a < 1) {
18 return1 /
Sqrt(1 / a);
19}
20 doublel = 0, r = a;
21 /* Epsilon is the precision. 22 A great precision is 23 between 1e-7 and 1e-12. 24 double epsilon = 1e-12; 25 */ 26 doubleepsilon = 1e-12;
27 while(l <= r) {
28 doublemid = (l + r) / 2;
29 if(mid * mid > a) {
30r = mid;
31}
else{
32 if(a - mid * mid < epsilon) {
33 returnmid;
34}
35l = mid;
36}
37}
38 return-1;
39}
40 42int main() {
43 doublen{};
44std::cin >> n;
45assert(n >= 0);
46 // Change this line for a better precision 47std::cout.precision(12);
48std::cout << std::fixed <<
Sqrt(n);
49}
Sqrtdouble Sqrt(double a)
Definition sqrt_double.cpp:16 mainint main()
Definition sqrt_double.cpp:42RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4