 Open in App
Not now

# Square root of a number using log

• Difficulty Level : Easy
• Last Updated : 25 Sep, 2022

For a given number find the square root using log function. Number may be int, float or double.

Examples:

Input  : n = 9
Output : 3

Input  : n = 2.93
Output : 1.711724

We can find square root of a number using sqrt() method:

## C++

 `// C++ program to demonstrate finding` `// square root of a number using sqrt()` `#include`   `int` `main(``void``)` `{` `    ``double` `n = 12;` `    ``printf``(``"%lf "``, ``sqrt``(n));` `    ``return` `0;` `}`

## Java

 `// Java program to demonstrate finding` `// square root of a number using sqrt()`   `import` `java.io.*;`   `class` `GFG {` `    ``public` `static` `void` `main (String[] args) {` `    ``double` `n = ``12``;` `    ``System.out.println(Math.sqrt(n));`     `// This code is contributed by akt_mit` `    ``}` `}`

## Python3

 `# Python3 program to demonstrate finding` `# square root of a number using sqrt()` `import` `math`   `if` `__name__``=``=``'__main__'``:` `    ``n ``=` `12` `    ``print``(math.sqrt(n))`   `# This code is contributed by` `# Sanjit_Prasad`

## C#

 `// C# program to demonstrate finding` `// square root of a number using sqrt()` `using` `System;`   `class` `GFG` `{` `public` `static` `void` `Main()` `{` `    ``double` `n = 12;` `    ``Console.Write(Math.Sqrt(n));` `}` `}`   `// This code is contributed` `// by Akanksha Rai`

## PHP

 ``

## Javascript

 ``

Output

`3.464102 `

Time complexity: O(log2n), for using sqrt() function.
Auxiliary space: O(1)

We can also find square root using log2() library function:

## C++

 `// C++ program to demonstrate finding` `// square root of a number using log2()` `#include`   `double` `squareRoot(``double` `n)` `{` `    ``return` `pow``(2, 0.5*log2(n));` `}`   `int` `main(``void``)` `{` `    ``double` `n = 12;` `    ``printf``(``"%lf "``, squareRoot(n));` `    ``return` `0;` `}`

## Java

 `// Java program to demonstrate finding ` `// square root of a number using log2() ` `import` `java.io.*;`   `class` `GFG ` `{` `static` `double` `squareRoot(``double` `n) ` `{ ` `    ``return` `Math.pow(``2``, ``0.5` `* (Math.log(n) /` `                              ``Math.log(``2``))); ` `} `   `// Driver Code` `public` `static` `void` `main (String[] args) ` `{` `    ``double` `n = ``12``; ` `    ``System.out.println(squareRoot(n)); ` `}` `}`   `// This code is contributed by akt_mit `

## Python

 `# Python program to demonstrate finding` `# square root of a number using sqrt()` `import` `math`   `# function to return squareroot` `def` `squareRoot(n):`   `    ``return` `pow``(``2``, ``0.5` `*` `math.log2(n))`   `# Driver program`   `n ``=` `12` `print``(squareRoot(n))`   `# This code is contributed by` `# Sanjit_Prasad`

## C#

 `// C# program to demonstrate finding ` `// square root of a number using log2()` `using` `System;`   `public` `class` `GFG{` `    `  `static` `double` `squareRoot(``double` `n) ` `{ ` `     ``return` `Math.Pow(2, 0.5 * (Math.Log(n) /Math.Log(2)));` `} `   `    `  `    ``static` `public` `void` `Main (){` `            ``double` `n = 12; ` `            ``Console.WriteLine(squareRoot(n)); ` `    ``}` `//This code is contributed by akt_mit    ` `}`

## PHP

 ``

## Javascript

 ``

Output

`3.464102 `

Time complexity: O(log2log2N), complexity of using log(N) is log(logN), and pow(x,N) is log(N), so pow(2,0.5*log(n)) will be log(logN).
Auxiliary space: O(1)

How does the above program work?

``` let d be our answer for input number n
then n(1/2) = d
apply log2 on both sides
log2(n(1/2)) = log2(d)
log2(d) = 1/2 * log2(n)
d = 2(1/2 * log2(n))
d = pow(2, 0.5*log2(n))  ```

This article is contributed by Tumma Umamaheswararao from Jntuh College of Engineering . If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.