#include <iostream> using namespace std; int sqrt(int arr[], int n, int key) { int start = 0; int end = n - 1; int mid = start + (end - start) / 2; int ans = -1; while (start <= end) { int square = mid * mid; if (square == key) { return mid; } else if (square > key) { end = mid - 1; } else { start = mid + 1; ans = mid; } mid = start + (end - start) / 2; } return ans; } double precision(int n, int precision, int integer) { double factor = 1; double ans = integer; for (int i = 0; i < precision; i++) { factor = factor / 10; for (double j = ans; j * j < n; j += factor) { ans = j; } } return ans; } int main() { int n; cout << "enter the number :" << endl; cin >> n; int arr[n]; for (int i = 0; i < n; i++) { arr[i] = (i + 1); } int squareRoot = sqrt(arr, n, n); double finalAns = precision(n, 3, squareRoot); cout << "square root of " << n << " is " << finalAns << endl; return 0; }