# C program to find square root of a number without using sqrt function.

409 views

Problem :

I have few years of experience in working with C programming. Now I am preparing for the interview and while preparing for it I came to below question for which I don’t have any working code.

C program to find square root of a number without using sqrt function”.

Can somebody help me in answering above question?

## Solution :

This is very tricky question for any programmer. I have also asked this question in many interviews but most of the time I got wrong answers from the candidates. So I am trying to answer it for you.

Below is the code which needs only 6 iterations to meet to the maximum precision for the double numbers:

`#include <math.h>`
`double SquareRoot(double x) {`
`    if (x <= 0)`
`        return 0;       // if in case the negative number throws the exception`
`    int exp = 0;`
`    x = frexp(x, &exp); // extract the binary exponent from the x`
`    if (exp & 1) {      // to get the exponent to be even`
`        exp--;`
`        x *= 2;`
`    }`
`    double y = (1+x)/2; // this is our first approximation`
`    double z = 0;`
`    while (y != z) {    // we are compare doubles`
`        z = y;`
`        y = (y + x/y) / 2;`
`    }`
`    return ldexp(y, exp/2); //we can have  multiply answer by 2^(exp/2)`
`}`

## Related questions

39 views
1 vote
52 views
Problem: I want to find a square root value of an integer number in a C++ program. Well, the condition is that, I can&rsquo;t use the sqrt() function in my program. Let say, the given number is 16, and output should produce 4. If the given number is not a perfect ... Is it possible to do so as per my requirement? If possible, please help me to find the way. I look forward to your answers. Thanks.
423 views
1 vote
17 views
Problem: Hello Kodlogs, I am a college student. I recently started learning computer programming using the Python programming language. I was solving some mathematical operations through Python programs. I&rsquo;ve stuck to solve a problem regarding square-root. In my program, I am ... an integer number? If you share the tip with me it would really help me a lot. Thanks for your kind concern.
183 views
26 views
Problem: Hello sir, I was studying the python language and I started implementing the program I can do it by the simple multiplying by itself but this looks l very simple is there is another way in which we can achieve this..? Below is my simple solution. x = input("Enter the number") num = x * x print("Square number is",num) I hope another way to solve the problem will get as soon as possible.