Java Program to Print the Series 1 3 6 11 18 … N

In the previous article we have discussed about Java Program to print Series 5 6 9 14 21 … N

In this article we are going to see how to print the series 1 3 6 11 18 … N by using Java programming language.

Java Program to Print the Series 1 3 6 11 18 … N

On observing the pattern carefully, we can see 1st number starts from 1

Then the next number is the addition of prime numbers in sequence. Like Previous Element + Next Prime Number

Example:

1 3 6 11 18 29 ….… N

                       +2                    +3                     +5                   +7                  +11

Let’s see different ways to print the series 1 3 6 11 18 … N

Method-1: Java Program to Print the Series 1 3 6 11 18 … N By Using For Loop

Approach:

  • Create Scanner class object.
  • Declare an integer variable say ‘n’ which holds the Nth term of the series
  • Prompt the user to enter a number as value of n.
  • Let declare a integer variable say ‘result’ and initialize it to 1
  • Use a for loop from i=0 to result + i<=n where the loop is incremented by 1
  • Inside the for loop we will call a isPrime() boolean method.
  • Inside isPrime() method we will find the prime number using a for loop from j=2 to j<=i and incremented by 1
  • Inside the for loop if i%j == 0 then it returns false to the main().
  • If the isPrime() returns true then the value of result in main() is equal to result+i
  • Print the result in the series.

Program:

import java.util.Scanner;
import java.io.*;
public class Main 
{
    public static void main(String[] args)
    {
        //creating object of Scanner class
        Scanner s = new Scanner(System.in);
        //Taking input of number of elements in the series
        System.out.println("Enter the limit ");
        int n = s.nextInt();
        int result = 1;
        System.out.print(result);
        //for loop to print the series
        for (int i = 0; result + i <= n; i++) 
        {
            // calling isPrime() method to find the prime number
            if (isPrime(i)) 
            {
                result += i;
                System.out.print(" " + result);
            }
        }
    }
    
    // isPrime() method to find the prime number
    static boolean isPrime(int i) 
     {
        if (i == 1 || i == 0) 
        	return false;
        for (int j = 2; j < i; j++) 
        {
            if (i % j == 0) return false;
        }
        return true;
    }
}
Output:

Enter the limit 
100
1 3 6 11 18 29 42 59 78

Method-2: Java Program to Print the Series 1 3 6 11 18 … N By Using While Loop

Approach:

  • Create Scanner class object.
  • Declare an integer variable say ‘n’ which holds the Nth term of the series
  • Prompt the user to enter a number as value of n.
  • Let declare a integer variable say ‘result’ and initialize it to 1
  • Declare and initialize an integer variable i=1
  • Continue a while loop till result + i<=n, where i is incremented by 1.
  • Inside the while loop we will call isPrime() boolean method.
  • Inside isPrime() method we will find the prime number using a while loop from j=2 to j<=i and incremented by 1
  • Inside the while loop If i%j == 0 then it returns false to the main().
  • If the isPrime() returns true then the value of result in main() is equal to result+i
  • Print the result in the series.

Program:

import java.util.Scanner;
import java.io.*;
public class Main 
{
    public static void main(String[] args)
    {
        //creating object of Scanner class
        Scanner s = new Scanner(System.in);
        //Taking input of number of elements in the series
        System.out.println("Enter the limit ");
        int n = s.nextInt();
        int result = 1;
        System.out.print(result);
        //while loop to print the series
        int i = 0; 
        while(result + i <= n) 
        {
            // calling isPrime() method to find the prime number
            if (isPrime(i)) 
            {
                result += i;
                System.out.print(" " + result);
            }
            i++;
        }
    }
    
    // isPrime() method to find the prime number
    static boolean isPrime(int i) 
    {
        if (i == 1 || i == 0) 
        	return false;
        int j = 2;
        while( j < i) 
        {
            if (i % j == 0) return false;
            j++;
        }
        return true;
    }
}
Output:

Enter the limit 
500
1 3 6 11 18 29 42 59 78 101 130 161 198 239 282 329 382 441

Method-3: Java Program to Print the Series 1 3 6 11 18 … N By Using User Defined Method

Approach:

  • Create Scanner class object.
  • Declare an integer variable say ‘n’ which holds the Nth term of the series
  • Prompt the user to enter a number as value of n.
  • Then call a user defined method printSeries() by passing n as parameter.
  • Let declare a integer variable say ‘result’ and initialize it to 1
  • Use a for loop from i=0 to result + i<=n where the loop is incremented by 1
  • Inside the for loop we will call a isPrime() boolean method.
  • Inside isPrime() method we will find the prime number using a for loop from j=2 to j<=i and incremented by 1
  • Inside the for loop if i%j == 0 then it returns false to the main().
  • If the isPrime() returns true then the value of result in main() is equal to result+i
  • Print the result in the series.

Program:

import java.util.*;
public class Main
{
    public static void main(String[] args)
    {
        // creating object of scanner class 
        Scanner s = new Scanner(System.in);
        //Taking input of number of elements in the series
        System.out.println("Enter the limit ");
        int n = s.nextInt();
        // calling printSeries method to print the series
        printSeries(n);
    }
    
    //printSeries metthod to print the series
    public static void printSeries(int n)
    {
        int result=1;
        System.out.print(result);
        //for loop to print the series
        for (int i = 0; result + i <= n; i++) 
        {
            // calling isPrime() method to find the prime number
            if (isPrime(i)) 
            {
                result += i;
                System.out.print(" " + result);
            }
        }
    }
    
    // isPrime() method to find the prime number
    static boolean isPrime(int i) 
    {
        if (i == 1 || i == 0) 
        	return false;
        for (int j = 2; j < i; j++) 
        {
            if (i % j == 0) return false;
        }
        return true;
    }
}
Output:

Enter the limit 
1000
1 3 6 11 18 29 42 59 78 101 130 161 198 239 282 329 382 441 502 569 640 713 792 875 964

Are you new to the java programming language? We recommend you to ace up your practice session with these Basic Java Programs Examples.

Related Java Programs: