Java program to check whether a number can be expressed as sum of two prime numbers

www.igi‮tf‬idea.com

Sure, here's a Java program to check whether a number can be expressed as the sum of two prime numbers:

public class SumOfTwoPrimes {
    public static void main(String[] args) {
        int n = 20;
        boolean found = false;
        
        for (int i = 2; i <= n/2; i++) {
            if (isPrime(i)) {
                if (isPrime(n - i)) {
                    System.out.println(n + " can be expressed as the sum of " + i + " and " + (n-i));
                    found = true;
                }
            }
        }
        
        if (!found) {
            System.out.println(n + " cannot be expressed as the sum of two prime numbers");
        }
    }
    
    public static boolean isPrime(int num) {
        if (num <= 1) {
            return false;
        }
        
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                return false;
            }
        }
        
        return true;
    }
}

In this program, we first define an integer n to represent the number to check. We also define a boolean variable found to keep track of whether we have found a pair of prime numbers that add up to n.

We use a for loop to iterate from 2 to n/2, which is the largest possible value of one of the prime numbers in the sum. For each value of i, we check whether i is prime by calling the isPrime method.

If i is prime, we check whether n - i is also prime. If it is, we print out a message indicating that n can be expressed as the sum of i and n - i, and set found to true.

If we reach the end of the loop without finding a pair of prime numbers that add up to n, we print out a message indicating that n cannot be expressed as the sum of two prime numbers.

The isPrime method is a helper method that takes an integer num as input and returns a boolean indicating whether num is prime. We first check whether num is less than or equal to 1, as 1 is not considered a prime number. We then use a for loop to check whether num is divisible by any integer from 2 to the square root of num. If num is divisible by any of these integers, we return false. Otherwise, we return true.