GoldBach Number in JAVA

Goldbach Number in JAVA

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

All even integers greater than 4 are Goldbach numbers. 


The expression of a given even number as a sum of two primes is called a Goldbach partition of that number.

Examples of Goldbach Numbers are :-

6 = 3 + 3 
8 = 3 + 5  
10 = 3 + 7 = 5 + 5 
12 = 7 + 5


Example 1:
INPUT:
N = 14
Prime pairs are:
3, 11
7, 7 
Output : It is a GoldBach Number


INPUT:
N = 28
Prime pairs are:
3, 11
7, 7 
Output : It is a GoldBach Number

Algorithm and Program  given Below :-

Algorithm :-

  • Input number in a variable
  • Store the input number in another variable
  • define two arrays used for storing and calculating odd prime numbers
  • Now use if statement to check if the entered number is odd or not.
  • If it is odd Display "Entered number is Invalid"
  • Else using for loops find each prime numbers till the entered number
  • Now use if statement and store only odd prime numbers in both the arrays
  • Now Display "Prime Pairs are:-"
  • Using for loop store sum of two odd prime numbers in a variable (say 's')
  • Using if condition compare the sum with the original number
  • If it satisfy the condition than display the prime pairs.
  • Compile and run the program.

Program :-

import java.io.*;
import java.util.*;
class Goldbach
{
    public static void main(String args[])
    {
        Scanner in= new Scanner(System.in);
        int i,j,n,p,b=0,c=0,s=0;
        System.out.println("Enter Number");
        n=in.nextInt();
// Input Number
        p=n; // Storing input number
        int ar[]=new int[n];
// array defined with capacity equal to number
        int br[]=new int[n];
// array defined with capacity equal to number
        if(n%2!=0)// if number is odd
        {
            System.out.println("Invalid Input, Number is Odd "+n);
// printing Invalid
        }
        else
        {
            for(i=1;i<=n;i++)
//loop used for finding prime number
            {
                for(j=1;j<=i;j++)
                {
                    if(i%j==0)
//condition if number is divisible
                    {
                        c++;
// increasing value of c initially it is 0
                    }
                }
                if((c==2)&&(i%2!=0))
// condition for odd Prime numbers
                {
                    ar[b]=i;
// storing odd prime number
                    br[b]=i;
// storing odd prime number
                    b++;
// increasing value of b
                }
                c=0;
// initializing c=0 again.
            }
            System.out.println("Prime Pairs are :- ");
            for(i=0;i<b;i++)
            {
                for(j=i;j<b;j++)
                {
                    s=ar[i]+br[j];
//storing sum of two odd prime numbers
                    if(s==p)
// condition if the sum is equal to the number
                    {
                        System.out.print(ar[i]+" , "+br[j]);
// printing prime pairs
                        System.out.println();
                    }
                }
            }
            System.out.println("It is GoldBach Number "+p);
        }
    }
// end of main method
}
// end of class


 
All the Best :)
Keep Learning :)

Comments

Popular posts from this blog

Frequency of each digit of a number in Java

Trimorphic Number in JAVA

Tri-Automorphic Number in JAVA