Open In App

Program to find sum of harmonic series

Last Updated : 27 Aug, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

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<bits/stdc++.h> 
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 <stdio.h>

// 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
<?php
// PHP program to find sum of harmonic series

// Function to return sum of
// harmonic series
function sum( $n)
{
    $i;
    $s = 0.0;
    for ($i = 1; $i <= $n; $i++)
        $s = $s + 1 / $i;
    return $s;
}

    // Driver Code
    $n = 5;
    echo("Sum is ");
    echo(sum($n));
    
?>
JavaScript
<script>
// JavaScript program to find sum of harmonic series

// Function to return sum of harmonic series
function sum(n)
{
let i, s = 0.0;
for(i = 1; i <= n; i++)
    s = s + 1 / i;
        
return s;
}

// Driver code
let n = 5;
document.write("Sum is " + sum(n));

// This code is contributed by Surbhi Tyagi.
</script>

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<bits/stdc++.h>
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
<?php
// PHP program to find sum of 
// harmonic series using recursion 

function sum($n)
{

    // Base condition 
    if ($n < 2)
        return 1;

    else
        return 1 / $n + (sum($n - 1)); 
} 

// Driver Code
echo sum(8) . "\n";
echo sum(10);

// This code is contributed by Ryuga
?>
JavaScript
<script>

// Javascript program to find sum of
// harmonic series using recursion
function sum(n)
{
    
    // Base condition 
    if (n < 2) 
    {
        return 1
    }
    else
    {
        return 1 / n + (sum(n - 1))
    }
}
 
// Driver code
document.write(sum(8));
document.write("<br>");
document.write(sum(10));

// This code is contributed by bunnyram19
 
</script>

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.


Next Article

Similar Reads