 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Fifth root of a number in C++
In this problem, we are given a number N. Our task is to find the floor value of the fifth root of a number.
Fifth Root of a number is the number which when multiplied to itself 5 times returns the number.
If N1/5 = a then, a*a*a*a*a = N.
Let’s take an example to understand the problem,
Input: N = 325
Output: 3
Explanation:
The fifth root of 325 is 3.179 whose floor value is 3.
Solution Approach:
A simple solution to the problem is traversing from 1 to n. And finding the number which when multiplied to itself five times gives the number.
Here, the exact value cannot be found as the numbers will not always be perfect fifth power. So, we will find the first value that makes the fifth power more than n and then return the value -1 to get the floor fifth root.
Program to illustrate the working of our solution,
Example
#include<iostream> using namespace std; int calcFifthRoot(int n) {        if (n == 0 || n == 1)       return n;    int a = 0;    for(a = 1; a*a*a*a*a < n ; a++){          }    return (a - 1); } int main() {        int n = 325;    cout<<"The Floor of fifth root of "<<n<<" is "<<calcFifthRoot(n);    return 0; }  Output −
The Floor of fifth root of 325 is 3
This algorithm is good but there can be a more promising solution to the problem. This can be done by updating the search algorithm and using the binary Search algorithm for searching for the fifth root of the number.
Program to illustrate the working of our solution,
Example
#include<iostream> using namespace std; int calcFifthRoot(int n) {    if (n == 0 || n == 1)    return n;    int start = 1, end = n, root = 0;    while (start <= end)    {       int a = (start + end) / 2;       long int apowfive = a*a*a*a*a;       if (apowfive == n)          return a;       if (apowfive < n) {                    start = a + 1;          root = a;       }       else          end = a - 1;    }    return root; } int main() {        int n = 250;    cout<<"The floor of fifth root of "<<n<<" is "<<calcFifthRoot(n);    return 0; } Output −
The floor of fifth root of 250 is 3
