Square root of a number using log (original) (raw)

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

JavaScript

`

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

JavaScript

`

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