Find Cube root of a number using Log function

Given number N, the task is to find the cube root using 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 above problem:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

2.00

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.