Square root of a number using log
For a given number find the square root using log function. Number may be int, float or double.
Examples:
Input : n = 9
Output : 3Input : 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))
Contact Us