diff --git a/square root perfectly working code.cpp b/square root perfectly working code.cpp new file mode 100644 index 0000000..7b7cab0 --- /dev/null +++ b/square root perfectly working code.cpp @@ -0,0 +1,52 @@ +#include +using namespace std; + +float squareRoot(int number, int precision) +{ + int start = 0, end = number; + int mid; + + float ans; + + + while (start <= end) { + mid = (start + end) / 2; + if (mid * mid == number) { + ans = mid; + break; + } + + + if (mid * mid < number) { + start = mid + 1; + ans = mid; + } + + + else { + end = mid - 1; + } + } + + + float increment = 0.1; + for (int i = 0; i < precision; i++) { + while (ans * ans <= number) { + ans += increment; + } + + ans = ans - increment; + increment = increment / 10; + } + return ans; +} + +int main() +{ + int a,b; + cin>>a>>b; + cout << squareRoot(a, b) << endl; + + + return 0; +}