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:2

Divisors of 4 are 1, 2 and 4

Geometric mean = (1 * 2 * 4)^{(1/3)}= 8^{(1/3)}= 2

Input:N = 16

Output:8

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 **N ^{th}** term is

**⌊√n⌋**.

Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to return the integer ` `// part of the geometric mean ` `// of the divisors of n ` `int` `geometricMean(` `int` `n) ` `{ ` ` ` `return` `sqrt` `(n); ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `n = 16; ` ` ` ` ` `cout << geometricMean(n); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

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

*chevron_right*

*filter_none*

## Python3

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

*chevron_right*

*filter_none*

## C#

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

*chevron_right*

*filter_none*

**Output:**

4

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.