Given an integer **N** and the sum of its divisors. The task is to find the sum of the inverse of the divisors of **N**.**Examples:**

Input:N = 6, Sum = 12Output:2.00

Divisors of N are {1, 2, 3, 6}

Sum of inverse of divisors is equal to (1/1 + 1/2 + 1/3 + 1/6) = 2.0Input:N = 9, Sum = 13Output:1.44

**Naive Approach:** Calculate all the divisors of the given integer **N**. Then calculate the sum of the inverse of the calculated divisors. This approach would give TLE when the value of **N** is large. **Time Complexity:** O(sqrt(N))**Efficient Approach:** Let the number **N** has **K** divisors say **d _{1}, d_{2}, …, d_{K}**. It is given that

**d**

_{1}+ d_{2}+ … + d_{K}= SumThe task is to calculate

**(1 / d**.

_{1}) + (1 / d_{2}) + … + (1 / d_{K})Multiply and divide the above equation by

**N**. The equation becomes

**[(N / d**

_{1}) + (N / d_{2}) + … + (N / d_{K})] / NNow it is easy to see that

**N / d**would represent another divisor of

_{i}**N**for all

**1 ≤ i ≤ K**. The numerator is equal to the sum of the divisors. Hence, sum of inverse of the divisors is equal to

**Sum / N**.

Below is the implementation of the above approach:

## C++

`// C++ implementation of above approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to return the` `// sum of inverse of divisors` `double` `SumofInverseDivisors(` `int` `N, ` `int` `Sum)` `{` ` ` `// Calculating the answer` ` ` `double` `ans = (` `double` `)(Sum)*1.0 / (` `double` `)(N);` ` ` `// Return the answer` ` ` `return` `ans;` `}` `// Driver code` `int` `main()` `{` ` ` `int` `N = 9;` ` ` `int` `Sum = 13;` ` ` `// Function call` ` ` `cout << setprecision(2) << fixed` ` ` `<< SumofInverseDivisors(N, Sum);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of above approach` `import` `java.math.*;` `import` `java.io.*;` `class` `GFG` `{` ` ` `// Function to return the` `// sum of inverse of divisors` `static` `double` `SumofInverseDivisors(` `int` `N, ` `int` `Sum)` `{` ` ` `// Calculating the answer` ` ` `double` `ans = (` `double` `)(Sum)*` `1.0` `/ (` `double` `)(N);` ` ` `// Return the answer` ` ` `return` `ans;` `}` `// Driver code` `public` `static` `void` `main (String[] args)` `{` ` ` `int` `N = ` `9` `;` ` ` `int` `Sum = ` `13` `;` ` ` `// Function call` ` ` `System.out.println (SumofInverseDivisors(N, Sum));` `}` `}` `// This code is contributed by jit_t.` |

## Python

`# Python implementation of above approach` `# Function to return the` `# sum of inverse of divisors` `def` `SumofInverseDivisors( N, ` `Sum` `):` ` ` `# Calculating the answer` ` ` `ans ` `=` `float` `(` `Sum` `)` `*` `1.0` `/` `float` `(N);` ` ` `# Return the answer` ` ` `return` `round` `(ans,` `2` `);` `# Driver code` `N ` `=` `9` `;` `Sum` `=` `13` `;` `print` `SumofInverseDivisors(N, ` `Sum` `);` `# This code is contributed by CrazyPro` |

## C#

`// C# implementation of above approach` `using` `System;` `class` `GFG` `{` ` ` `// Function to return the` `// sum of inverse of divisors` `static` `double` `SumofInverseDivisors(` `int` `N, ` `int` `Sum)` `{` ` ` `// Calculating the answer` ` ` `double` `ans = (` `double` `)(Sum)*1.0 / (` `double` `)(N);` ` ` `// Return the answer` ` ` `return` `ans;` `}` `// Driver code` `static` `public` `void` `Main ()` `{` ` ` ` ` `int` `N = 9;` ` ` `int` `Sum = 13;` ` ` `// Function call` ` ` `Console.Write(SumofInverseDivisors(N, Sum));` `}` `}` `// This code is contributed by ajit` |

## Javascript

`<script>` `// JavaScript implementation of above approach` `// Function to return the` `// sum of inverse of divisors` `function` `SumofInverseDivisors(N, Sum)` `{` ` ` `// Calculating the answer` ` ` `let ans = (Sum)*1.0 / (N);` ` ` `// Return the answer` ` ` `return` `ans;` `}` `// Driver code` ` ` `let N = 9;` ` ` `let Sum = 13;` ` ` `// Function call` ` ` `document.write(SumofInverseDivisors(N, Sum).toFixed(2));` `// This code is contributed by Surbhi Tyagi.` `</script>` |

**Output:**

1.44

**Time Complexity:** O(1)

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**