Related Articles

# Nth root of a number using log

• Last Updated : 08 Apr, 2021

Given two integers N and K, the task is to find the Nth root of the K.

Examples:

Input: N = 3, K = 8
Output: 2.00
Explanation:
Cube root of 8 is 2. i.e. 23 = 8

Input: N = 2, K = 16
Output: 4.00
Explanation:
Square root of 16 is 4, i.e. 42 = 16

Approach: The idea is to use logarithmic function to find the Nth root of K.

Let D be our Nth root of the K,
Then, Apply logK on both the sides –
=> => => Below is the implementation of the above approach:

## C++

 // C++ implementation to find the// Kth root of a number using log #include  // Function to find the Kth root// of the number using log functiondouble kthRoot(double n, int k){    return pow(k,               (1.0 / k)                   * (log(n)                      / log(k)));} // Driver Codeint main(void){    double n = 81;    int k = 4;    printf("%lf ", kthRoot(n, k));    return 0;}

## Java

 // Java implementation to find the// Kth root of a number using logimport java.util.*; class GFG { // Function to find the Kth root// of the number using log functionstatic double kthRoot(double n, int k){    return Math.pow(k, ((1.0 / k) *                       (Math.log(n) /                        Math.log(k))));} // Driver Codepublic static void main(String args[]){    double n = 81;    int k = 4;         System.out.printf("%.6f", kthRoot(n, k));}} // This code is contributed by rutvik_56

## Python3

 # Python3 implementation to find the# Kth root of a number using log import numpy as np # Function to find the Kth root# of the number using log functiondef kthRoot(n, k):         return pow(k, ((1.0 / k) *                  (np.log(n) /                   np.log(k))))                    # Driver Coden = 81k = 4 print("%.6f" % kthRoot(n, k)) # This code is contributed by PratikBasu

## C#

 // C# implementation to find the// Kth root of a number using logusing System; class GFG { // Function to find the Kth root// of the number using log functionstatic double kthRoot(double n, int k){         return Math.Pow(k, ((1.0 / k) *                        (Math.Log(n) /                         Math.Log(k))));} // Driver Codepublic static void Main(String []args){    double n = 81;    int k = 4;         Console.Write("{0:F6}", kthRoot(n, k));}} // This code is contributed by AbhiThakur

## Javascript

 
Output:
3.000000

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up