# Program to find sum of harmonic series

• Difficulty Level : Easy
• Last Updated : 23 Jun, 2022

Harmonic series is inverse of a arithmetic progression. In general, the terms in a harmonic progression can be denoted as 1/a, 1/(a + d), 1/(a + 2d), 1/(a + 3d) …. 1/(a + nd).
As Nth term of AP is given as ( a + (n – 1)d). Hence, Nth term of harmonic progression is reciprocal of Nth term of AP, which is 1/(a + (n – 1)d), where “a” is the 1st term of AP and “d” is a common difference.

Method #1: Simple approach

## C++

 `// C++ program to find sum of harmonic series``#include``using` `namespace` `std;`` ` `// Function to return sum of harmonic series``double` `sum(``int` `n)``{``  ``double` `i, s = 0.0;``  ``for``(i = 1; i <= n; i++)``      ``s = s + 1 / i;``      ` `  ``return` `s;``}` `// Driver code``int` `main()``{``    ``int` `n = 5;``    ` `    ``cout << ``"Sum is "` `<< sum(n);``    ``return` `0;``}` `// This code is contributed by SHUBHAMSINGH10`

## C

 `// C program to find sum of harmonic series``#include ` `// Function to return sum of harmonic series``double` `sum(``int` `n)``{``  ``double` `i, s = 0.0;``  ``for` `(i = 1; i <= n; i++)``      ``s = s + 1/i;``  ``return` `s;``}` `int` `main()``{``    ``int` `n = 5;``    ``printf``(``"Sum is %f"``, sum(n));``    ``return` `0;``}`

## Java

 `// Java Program to find sum of harmonic series``import` `java.io.*;` `class` `GFG {``    ` `    ``// Function to return sum of``    ``// harmonic series``    ``static` `double` `sum(``int` `n)``    ``{``      ``double` `i, s = ``0.0``;``      ``for` `(i = ``1``; i <= n; i++)``          ``s = s + ``1``/i;``      ``return` `s;``    ``}`` ` `   ` `    ``// Driven Program``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `n = ``5``;``        ``System.out.printf(``"Sum is %f"``, sum(n));       ``    ``}``}`

## Python3

 `# Python program to find the sum of harmonic series` `def` `sum``(n):``    ``i ``=` `1``    ``s ``=` `0.0``    ``for` `i ``in` `range``(``1``, n``+``1``):``        ``s ``=` `s ``+` `1``/``i;``    ``return` `s;` `# Driver Code``n ``=` `5``print``(``"Sum is"``, ``round``(``sum``(n), ``6``))`

## C#

 `// C# Program to find sum of harmonic series``using` `System;` `class` `GFG {``    ` `    ``// Function to return sum of``    ``// harmonic series``    ``static` `float` `sum(``int` `n)``    ``{``        ``double` `i, s = 0.0;``        ` `        ``for` `(i = 1; i <= n; i++)``            ``s = s + 1/i;``            ` `        ``return` `(``float``)s;``    ``}` `    ` `    ``// Driven Program``    ``public` `static` `void` `Main()``    ``{``        ``int` `n = 5;       ``        ``Console.WriteLine(``"Sum is "``                           ``+ sum(n));       ``    ``}``}`

## PHP

 ``

## Javascript

 ``

Output:

`Sum is 2.283333`

Time Complexity : O(n) ,as we are traversing once in array.

Auxiliary Space : O(1) ,no extra space needed.

Method #2: Using recursion

## C++

 `// CPP program to find sum of``// harmonic series using recursion``#include``using` `namespace` `std;` `float` `sum(``float` `n)``{``    ``// Base condition``    ``if` `(n < 2)``        ``return` `1;` `    ``else``        ``return` `1 / n + (sum(n - 1));``}` `// Driven Code``int` `main()``{``    ``cout << (sum(8)) << endl;``    ``cout << (sum(10)) << endl;``    ``return` `0;``}` `// This code is contributed by``// Shashank_Sharma`

## Java

 `// Java program to find sum of``// harmonic series using recursion``import` `java.io.*;` `class` `GFG``{` `float` `sum(``float` `n)``{``    ``// Base condition``    ``if` `(n < ``2``)``        ``return` `1``;` `    ``else``        ``return` `1` `/ n + (sum(n - ``1``));``}` `// Driven Code``public` `static` `void` `main(String args[])``{``  ``GFG g = ``new` `GFG();``  ``System.out.println(g.sum(``8``));``  ``System.out.print(g.sum(``10``));``}``}` `// This code is contributed by Shivi_Aggarwal`

## Python3

 `# Python program to find sum of``# harmonic series using recursion` `def` `sum``(n):` `    ``# Base condition``    ``if` `n < ``2``:``        ``return` `1` `    ``else``:``        ``return` `1` `/` `n ``+` `(``sum``(n ``-` `1``))``        ` `print``(``sum``(``8``))``print``(``sum``(``10``))`

## C#

 `//C# program to find sum of``// harmonic series using recursion``using` `System;` `class` `GFG``{` `static` `float` `sum(``float` `n)``{``    ``// Base condition``    ``if` `(n < 2)``        ``return` `1;` `    ``else``        ``return` `1 / n + (sum(n - 1));``}` `// Driven Code``public` `static` `void` `Main()``{``    ``Console.WriteLine(sum(8));``    ``Console.WriteLine(sum(10));``}``}` `// This code is contributed by shs..`

## PHP

 ``

## Javascript

 ``

Output:

```2.7178571428571425
2.9289682539682538```

Time Complexity : O(n), as we are recursing for n times.

Auxiliary Space : O(n), due to recursive stack space.

My Personal Notes arrow_drop_up