Open In App

Square root of a number using log

Last Updated : 25 Sep, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

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<bits/stdc++.h>

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
<?php
// PHP program to demonstrate finding 
// square root of a number using sqrt() 
$n = 12; 
echo sqrt($n); 

// This code is contributed by jit_t
?>
JavaScript
<script>

// Javascript program to demonstrate finding
// square root of a number using sqrt()
var n = 12;

document.write(Math.sqrt(n).toFixed(6));

// This code is contributed by aashish1995

</script>

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<bits/stdc++.h>

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
<?php
// PHP program to demonstrate finding 
// square root of a number using log2() 
function squareRoot($n) 
{ 
    return pow(2, 0.5 * log($n, 2)); 
} 

// Driver Code
$n = 12; 
echo squareRoot($n); 
    
// This code is contributed by ajit
?>
JavaScript
<script>
    // Javascript program to demonstrate finding 
    // square root of a number using log2()
    
    function squareRoot(n) 
    { 
         return Math.pow(2, 0.5 * (Math.log(n) /Math.log(2)));
    } 
    
    let n = 12; 
      document.write(squareRoot(n).toFixed(15)); 

</script>

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))  


 


Next Article
Article Tags :
Practice Tags :

Similar Reads