Program to find the Nth Harmonic Number

20 Dec, 2021
Given a number N. The task is to find the Nth Harmonic Number.Let the nth harmonic number be Hn.The harmonic series is as follows:  
H1 = 1 H2 = H1 + 1/2 H3 = H2 + 1/3 H4 = H3 + 1/4 . . . Hn = Hn-1 + 1/n  
Examples:  
Input : N = 5
Output : 2.45

Input : N = 9
Output : 2.71786
 
The idea is to traverse from H1 and then consecutively keep finding H2 from H1, H3 from H2 ..... and so on.Below is the program to find N-th Harmonic Number: 
C++
Java
Python 3
C#
PHP
Javascript
// CPP program to find N-th Harmonic Number #include <iostream>using namespace std; // Function to find N-th Harmonic Numberdouble nthHarmonic(int N){    // H1 = 1    float harmonic = 1.00;     // loop to apply the formula    // Hn = H1 + H2 + H3 ... + Hn-1 + Hn-1 + 1/n    for (int i = 2; i <= N; i++) {        harmonic += (float)1 / i;    }     return harmonic;} // Driver Codeint main(){    int N = 8;         cout<<nthHarmonic(N);         return 0;}
// Java program to find N-th Harmonic Number import java.io.*; class GFG {     // Function to find N-th Harmonic Numberstatic double nthHarmonic(int N){    // H1 = 1    float harmonic = 1;     // loop to apply the formula    // Hn = H1 + H2 + H3 ... + Hn-1 + Hn-1 + 1/n    for (int i = 2; i <= N; i++) {        harmonic += (float)1 / i;    }     return harmonic;} // Driver Code     public static void main (String[] args) {            int N = 8;         System.out.print(nthHarmonic(N));         }}// This code is contributed// by ajit
# Python3 program to find# N-th Harmonic Number # Function to find N-th Harmonic Numberdef nthHarmonic(N) :     # H1 = 1    harmonic = 1.00     # loop to apply the formula    # Hn = H1 + H2 + H3 ... +    # Hn-1 + Hn-1 + 1/n    for i in range(2, N + 1) :        harmonic += 1 / i     return harmonic     # Driver code    if __name__ == "__main__" :     N = 8    print(round(nthHarmonic(N),5)) # This code is contributed by ANKITRAI1
// C# program to find N-th Harmonic Numberusing System; class GFG{     // Function to find N-th Harmonic Numberstatic double nthHarmonic(int N){    // H1 = 1    float harmonic = 1;     // loop to apply the formula    // Hn = H1 + H2 + H3 ... +    // Hn-1 + Hn-1 + 1/n    for (int i = 2; i <= N; i++)    {        harmonic += (float)1 / i;    }     return harmonic;} // Driver Codestatic public void Main (){    int N = 8;         Console.Write(nthHarmonic(N));}} // This code is contributed// by Raj
<?php// PHP program to find// N-th Harmonic Number // Function to find N-th// Harmonic Numberfunction nthHarmonic($N){    // H1 = 1    $harmonic = 1.00;     // loop to apply the formula    // Hn = H1 + H2 + H3 ... +    // Hn-1 + Hn-1 + 1/n    for ($i = 2; $i <= $N; $i++)    {        $harmonic += (float)1 / $i;    }     return $harmonic;} // Driver Code$N = 8;echo nthHarmonic($N);     // This code is contributed// by Shivi_Aggarwal?>
<script>  // Javascript program to find// N-th Harmonic Number // Function to find N-th// Harmonic Numberfunction nthHarmonic(N){    // H1 = 1    let harmonic = 1.00;     // loop to apply the formula    // Hn = H1 + H2 + H3 ... +    // Hn-1 + Hn-1 + 1/n    for (let i = 2; i <= N; i++)    {        harmonic += parseFloat(1) / i;    }     return harmonic;} // Driver Code let N = 8;document.write( nthHarmonic(N).toFixed(5)); // This code is contributed by bobby </script>
2.71786
 
Time Complexity: O(N) 
ankthon
Shivi_Aggarwal
jit_t
R_Raj
gottumukkalabobby
simmytarika5
harmonic progression
Numbers
series
Mathematical
Technical Scripter
Mathematical
series
Numbers
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.