Goldbach Number ISC Computer Science 2018 Practical
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 and 7, 5 and 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 PAIRS 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 OUT OF RANGE.
class Goldbach{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
System.out.print("N = ");
int n = Integer.parseInt(in.nextLine());
if(n % 2 != 0){
System.out.println("INVALID INPUT. NUMBER IS ODD.");
return;
}
if(n < 10 || n > 49){
System.out.println("INVALID INPUT. NUMBER OUT OF RANGE.");
return;
}
System.out.println("PRIME PAIRS ARE:");
int p = 3;
int q = n - p;
for(int i = p; i <= n / 2; i++){
if(isPrime(p) && isPrime(q) && p <= q)
System.out.println(p + ", " + q);
p += 2;;
q = n - p;
}
}
public static boolean isPrime(int n){
for(int i = 2; i <= n / 2; i++){
if(n % i == 0)
return false;
}
return true;
}
}
Comments
Post a Comment