Open In App

Find Cube root of a number using Log function

Last Updated : 14 Dec, 2022
Comments
Improve
Suggest changes
Like Article
Like
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)


Next Article
Practice Tags :

Similar Reads