Integer part of the geometric mean of the divisors of N

• Last Updated : 06 Apr, 2021

Given an integer N, the task is to find the integer part of the geometric mean of the divisors of N. The Geometric Mean is a special type of average where we multiply the numbers together and then take a square root (for two numbers), cube root (for three numbers), and so on.

Examples:
Input: N = 4
Output:
Divisors of 4 are 1, 2 and 4
Geometric mean = (1 * 2 * 4)(1/3) = 8(1/3) = 2
Input: N = 16
Output:
Divisors of 16 are 1, 2, 4, 8 and 16
Geometric mean = (1 * 2 * 4 * 8 * 16)(1/5) = 1024(1/5) = 4

Approach: It cane be observed that a series will be formed for the values of N as 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, ….. whose Nth term is ⌊√n⌋.
Below is the implementation of the above approach:

C++

 // C++ implementation of the approach#include using namespace std; // Function to return the integer// part of the geometric mean// of the divisors of nint geometricMean(int n){    return sqrt(n);} // Driver codeint main(){    int n = 16;     cout << geometricMean(n);     return 0;}

Java

 // Java implementation of the approachclass GFG{ // Function to return the integer// part of the geometric mean// of the divisors of nstatic int geometricMean(int n){    return (int) Math.sqrt(n);} // Driver codepublic static void main(String []args){    int n = 16;    System.out.println(geometricMean(n));}} // This code is contributed by Rajput-Ji

Python3

 # Python3 implementation of the approachfrom math import sqrt # Function to return the integer# part of the geometric mean# of the divisors of ndef geometricMean(n) :     return int(sqrt(n)); # Driver codeif __name__ == "__main__" :     n = 16;     print(geometricMean(n)); # This code is contributed by AnkitRai01

C#

 // C# implementation of the approachusing System;    class GFG{  // Function to return the integer// part of the geometric mean// of the divisors of nstatic int geometricMean(int n){    return (int) Math.Sqrt(n);}  // Driver codepublic static void Main(String []args){    int n = 16;    Console.WriteLine(geometricMean(n));}} // This code is contributed by PrinciRaj1992

Javascript


Output:
4

My Personal Notes arrow_drop_up