Open In App

Find Cube root of a number using Log function

Improve
Improve
Like Article
Like
Save
Share
Report

Given the number N, the task is to find the cube root using the log function.
Examples:

Input: N = 8 
Output: 2.000000
Input: N = 27 
Output: 3.000000 
 

Approach: To solve the problem mentioned above we will use log() function, according to the following formula:

Let cube root of N be d. 
=> ?N = d 
=> N(1/3) = d 
Now, apply log on both sides: 
log3 (N(1/3)) = log3 (d) 
=> log3 (d) = 1/3 * log3 (N) 
=> d = 3(1/3 * log3 (N)) 
 

Below is the implementation of the above problem: 

C++




// C++ program to Find Cube root
// of a number using Logarithm
 
#include <bits/stdc++.h>
 
// Function to find the cube root
double cubeRoot(double n)
{
    // calculate the cube root
    double ans = pow(3, (1.0 / 3)
                            * (log(n) / log(3)));
 
    // Return the final answer
    return ans;
}
 
// Driver code
int main()
{
    double N = 8;
 
    printf("%.2lf ", cubeRoot(N));
 
    return 0;
}


Java




// Java program to Find Cube root
// of a number using Logarithm
class GFG{
     
// Function to find the cube root
static double cubeRoot(double n)
{
     
    // Calculate the cube root
    double ans = Math.pow(3, ((1.0 / 3) *
                              (Math.log(n) /
                               Math.log(3))));
 
    // Return the final answer
    return ans;
}
 
// Driver code
public static void main(String[] args)
{
    double N = 8;
    System.out.printf("%.2f", cubeRoot(N));
}
}
 
// This code is contributed by Rajput-Ji


Python3




# Python3 program to find cube root
# of a number using logarithm
import numpy as np
 
# Function to find the cube root
def cubeRoot(n):
 
    # Calculate the cube root
    ans = pow(3, (1.0 / 3) * (np.log(n) /
                              np.log(3)))
 
    # Return the final answer
    return ans
 
# Driver code
N = 8
 
print("%.2f" % cubeRoot(N))
 
# This code is contributed by PratikBasu


C#




// C# program to find cube root
// of a number using logarithm
using System;
 
class GFG{
     
// Function to find the cube root
static double cubeRoot(double n)
{
     
    // Calculate the cube root
    double ans = Math.Pow(3, ((1.0 / 3) *
                              (Math.Log(n) /
                               Math.Log(3))));
 
    // Return the readonly answer
    return ans;
}
 
// Driver code
public static void Main(String[] args)
{
    double N = 8;
     
    Console.Write("{0:F2}", cubeRoot(N));
}
}
 
// This code is contributed by sapnasingh4991


Javascript




<script>
// javascript  program to Find Cube root
// of a number using Logarithm
 
 
// Function to find the cube root
function cubeRoot( n)
{
 
    // calculate the cube root
    let ans = Math.pow(3, (1.0 / 3)
                            * (Math.log(n) / Math.log(3)));
 
    // Return the final answer
    return ans;
}
 
// Driver code
let N = 8;
document.write( cubeRoot(N).toFixed(2));
     
// This code is contributed by todaysgaurav
 
</script>


Output

2.00 

Time complexity: O(log2(log3n))
Auxiliary space: O(1)



Last Updated : 14 Dec, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads