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)