Program to find sum of harmonic series

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
Java
Python3
C#
PHP
Javascript
// C++ program to find sum of harmonic series#include<bits/stdc++.h>using namespace std;  // Function to return sum of harmonic seriesdouble sum(int n){  double i, s = 0.0;  for(i = 1; i <= n; i++)      s = s + 1 / i;         return s;} // Driver codeint main(){    int n = 5;         cout << "Sum is " << sum(n);    return 0;} // This code is contributed by SHUBHAMSINGH10
// C program to find sum of harmonic series#include <stdio.h> // Function to return sum of harmonic seriesdouble 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 Program to find sum of harmonic seriesimport 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));           }}
# 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 Coden = 5print("Sum is", round(sum(n), 6))
// C# Program to find sum of harmonic seriesusing 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 program to find sum of harmonic series // Function to return sum of// harmonic seriesfunction 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));     ?>
<script>// JavaScript program to find sum of harmonic series // Function to return sum of harmonic seriesfunction sum(n){let i, s = 0.0;for(i = 1; i <= n; i++)    s = s + 1 / i;         return s;} // Driver codelet n = 5;document.write("Sum is " + sum(n)); // This code is contributed by Surbhi Tyagi.</script>
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++
Java
Python3
C#
PHP
Javascript
// 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 Codeint main(){    cout << (sum(8)) << endl;    cout << (sum(10)) << endl;    return 0;} // This code is contributed by// Shashank_Sharma
// Java program to find sum of// harmonic series using recursionimport java.io.*; class GFG{ float sum(float n){    // Base condition    if (n < 2)        return 1;     else        return 1 / n + (sum(n - 1));} // Driven Codepublic 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
# 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# program to find sum of// harmonic series using recursionusing System; class GFG{ static float sum(float n){    // Base condition    if (n < 2)        return 1;     else        return 1 / n + (sum(n - 1));} // Driven Codepublic static void Main(){    Console.WriteLine(sum(8));    Console.WriteLine(sum(10));}} // This code is contributed by shs..
<?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 Codeecho sum(8) . "\n";echo sum(10); // This code is contributed by Ryuga?>
<script> // Javascript program to find sum of// harmonic series using recursionfunction sum(n){         // Base condition    if (n < 2)    {        return 1    }    else    {        return 1 / n + (sum(n - 1))    }}  // Driver codedocument.write(sum(8));document.write("<br>");document.write(sum(10)); // This code is contributed by bunnyram19  </script>
2.7178571428571425
2.9289682539682538
 
Time Complexity : O(n), as we are recursing for n times.
Auxiliary Space : O(n), due to recursive stack space.
ankthon
Shivi_Aggarwal
Shashank_Sharma
Shashank12
SHUBHAMSINGH10
surbhityagi15
bunnyram19
aditya942003patil
sushmitamittal1329
harmonic progression
series
series-sum
Mathematical
Mathematical
series
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Merge two sorted arrays
Operators in C / C++
Prime Numbers
Sieve of Eratosthenes
Program to find GCD or HCF of two numbers
Find minimum number of coins that make a given value
Minimum number of jumps to reach end
Algorithm to solve Rubik's Cube
The Knight's tour problem | Backtracking-1
Program for Decimal to Binary Conversion