In this program, you'll learn to check whether a given number can be expressed as a sum of two prime numbers or not. This is done with the help of loops and break statements in Java.
To accomplish this task, checkPrime() function is created.
![Sum of Two Prime Numbers](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJmcURz0ey013AMuh_a_HbCPP_aBtDChm6gyDprxk6N30lbSbM4KgBBgXSexIXVyLeZioAIADjPPg5zwMCL3wGTt0zSBZMJhSm54ZEHC3Gp4BiP9uUH4Vi3NAcFcIM9tXiWdZgiU9TJ6wQ/w320-h240/w400h300_018.jpg)
The checkPrime() returns 1 if the number passed to the function is a prime number.
Example: Integer as a Sum of Two Prime Numbers
Programming code:
import java.util.*;
public class CheckPrime
{
public static void main(String[] args)
{
int number;
boolean flag = false;
Scanner sc=new Scanner(System.in);
System.out.println("Enter any number:");
number=sc.nextInt();
for (int i = 2; i <= number / 2; ++i)
{
// condition for i to be a prime number
if (checkPrime(i))
{
// condition for n-i to be a prime number
if (checkPrime(number - i))
{
// n = primeNumber1 + primeNumber2
System.out.printf("%d = %d + %d\n", number, i, number - i);
flag = true;
}
}
}
if (!flag)
System.out.println(number + " cannot be expressed as the sum of two prime numbers.");
}
// Function to check prime number
static boolean checkPrime(int num)
{
boolean isPrime = true;
for (int i = 2; i <= num / 2; ++i)
{
if (num % i == 0)
{
isPrime = false;
break;
}
}
return isPrime;
}
}
When you run the program, the output will be:
Enter any number:
48
48 = 5 + 43
48 = 7 + 41
48 = 11 + 37
48 = 17 + 31
48 = 19 + 29