# Program to find sum of harmonic series

• Difficulty Level : Easy
• Last Updated : 27 Aug, 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));            } }



## 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..



## 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, since n extra space has been taken.

My Personal Notes arrow_drop_up
Related Articles