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> |
2.00
Time complexity: O(log2(log3n))
Auxiliary space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!