1.
2.
/**
* FWP, Ausgewählte Probleme aus dem ACM Programming Contest, SS10
* Problem: 543 Goldbach's Conjecture
* Link: http://uva.onlinejudge.org/external/5/543.pdf
* @author Viktoriya Ryabova
* @version 1.0, 04/29/2010
*
* Method : Ad-Hoc
* Status : accepted
* Runtime: 1.560
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner (System.in);
while(sc.hasNext()){
//zahlen aus der Konsole einlesen
int number = Integer.parseInt(sc.nextLine());
if (number>=6 && number<=1000000 && number!=0){
//über alle ungerade zahlen überprüfen, ob sie eine primzahl sind
for (int i=3; i<= number/2; i=i+2){
//von der zahl kleinste primzahl abziehen und falls der rest auch primzahl ist
//wir es als ergebnis ausgegeben (dadurch muss man nicht übeprüfen alle paare,
//bedingung, dass a - b = max ist, wird automatisch erfüllt
if(isPrime(number-i)&&isPrime(i)){
System.out.println(number + " = "+ i + " + " + (number-i));
break;
}
}
}
}
}
//Prüfen ob die zahl eine primzagl ist
public static boolean isPrime(int n) {
if (n < 2) {
return false;
}
else if (n == 2) {
return true;
}
else if (n % 2 == 0) {
return false;
}
else {
for (int i=3; i*i<=n; i+=2) {
if (n%i==0) {
return false;
}
}
return true;
}
}
}