Java Program to Generate Harmonic Series

Harmonic series is the inverse of an arithmetic progression. In general, the terms in a harmonic progression can be denoted as
h1 = 1/a, h2 = 1/(a+d), h3 = 1/(a+2d), h4 = 1/(a+3d), …………….., hn = 1/(a+nd).
Where h is the harmonic series, a is arithmetic progression and d is the common difference between arithmetic progression and n is the nth term.
Example 1: (Using while loop)
Java
// Java Program to Generate Harmonic Seriesclass HarmonicSeries {    // this is a main function    public static void main(String args[])    {        // num is the number of values we want in a series        int num = 5;        double result = 0.0;        System.out.println("The harmonic series is: ");        // printing the harmonic series till num value        // using while loop        while (num > 0) {            // calculating harmonic values            result = result + (double)1 / num;            // after calculating harmonic value            // decrementing num by 1 which means the common            // difference is 1            num--;            System.out.print(result + ", ");        }    }} | 
Output
The harmonic series is: 0.2, 0.45, 0.7833333333333333, 1.2833333333333332, 2.283333333333333,
Time complexity: O(n) for given n terms
Auxiliary Space: O(1)
Example 2: (Using for loop)
Java
// Java Program to Generate Harmonic Seriesclass HarmonicSeries {    // this is a main function    public static void main(String args[])    {        // num is the number of values we want in a series        int num = 5;        double result = 0.0;        System.out.println("The harmonic series is: ");        // printing the harmonic series till num value        // using for loop        for (int i = num; i > 0; i--) {            // calculating harmonic values            result = result + (double)1 / i;            System.out.print(result + ", ");        }    }} | 
Output
The harmonic series is: 0.2, 0.45, 0.7833333333333333, 1.2833333333333332, 2.283333333333333,
Example 3:
Java
// Java Program to Generate Harmonic Series// importing necessary java packagesimport java.util.Scanner;import java.lang.*;class HarmonicSeries {    // this is a main function    public static void main(String args[])    {        // scanner class is a pre-defined class in java        // for taking input from keyboard        Scanner in = new Scanner(System.in);        System.out.print("Enter Number: ");        // storing input value in num        int num = in.nextInt();        double result = 0.0;        System.out.println("The harmonic series is: ");        // printing the harmonic series till num value        // using for loop        for (int i = num; i > 0; i--) {            // calculating harmonic values            result = result + (double)1 / i;            System.out.print(result + ", ");        }    }} | 
Output
$ javac HarmonicSeries.java $ java HarmonicSeries Enter Number: 5 The harmonic series is: 0.2, 0.45, 0.7833333333333333, 1.2833333333333332, 2.283333333333333
$ javac HarmonicSeries.java $ java HarmonicSeries Enter Number: 6 The harmonic series is: 0.16666666666666666, 0.3666666666666667, 0.6166666666666667, 0.95, 1.45, 2.45
Time complexity: O(N) to generate series for given N terms
Auxiliary Space: O(1)
 
				
					


