Goldbach Number Java Program ISC 2018 Practical

Question on Goldbach Number

A Goldbach number is a positive even integer that can be expressed as the sum of two odd primes.

Note: All even integer numbers greater than 4 are Goldbach numbers.

Example:

6 = 3 + 3

10 = 3 + 7

10 = 5 + 5

Hence, 6 has one odd prime pair 3 and 3. Similarly, 10 has two odd prime pairs, i.e. 3, 7 and 5, 5.

Write a program to accept an even integer ‘N’ where N > 9 and N < 50. Find all the odd prime pairs whose sum is equal to the number ‘N’.

Test your program with the following data and some random data:

Example 1:
INPUT:
N = 14
OUTPUT:
Prime pairs are:
3, 11
7, 7

Example 2:
INPUT:
N = 30
OUTPUT:
Prime numbers are:
7, 23
11, 19
13, 17

Example 3:
INPUT:
N = 17
OUTPUT:
Invalid input. Number is odd.

Example 4:
INPUT:
N = 126
OUTPUT:
Invalid input. Number is out of range.

Java Program on Goldbach Number:

import java.io.*;
class Goldbach{
    public static void main(String args[])
    throws IOException{
        int n = 0;
        int p = 3;
        int q = 0;
        InputStreamReader in = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(in);
        System.out.print("N = ");
        n = Integer.parseInt(br.readLine());
        if(n % 2 != 0){
            System.out.println("Invalid input. Number is odd.");
            return;
        }
        else if(n < 10 || n > 49){
            System.out.println("Invalid input. Number is out of range.");
            return;
        }
        System.out.println("Prime pairs are:");
        while(p < n){
            q = n - p;
            if(isPrime(p) && isPrime(q) && p <= q)
                System.out.println(p + ", " + q);
            p += 2;
        }
    }
    public static boolean isPrime(int n){
        int f = 0;
        for(int i = 1; i <= n; i++){
            if(n % i == 0)
                f++;
        }
        if(f == 2)
            return true;
        return false;
    }
}

7 thoughts on “Goldbach Number Java Program ISC 2018 Practical

    • Sure Unnati. Here is the algorithm:
      Step 1: Input the number to be checked as N.
      Step 2: LET P = 3
      Step 3: If N MOD 2 != 0 then N is not a Goldbach Number. Thus Exit.
      Step 4: If N < 10 OR N > 49 then N is out of range. Thus Exit.
      Step 5: While P < N, Repeat Step 6 through 8: Step 6: Let Q = N - P Step 7: If P and Q are Prime and P <= Q then Print P, Q Step 8: Let P = P + 2

Leave a Reply