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 )); ?> |
Sum is 2.283333
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 |
Python 3
# 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 ?> |
2.7178571428571425 2.9289682539682538
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.