% Author: MB % Date: 13/09/2019 zerlegbar(Z):- N1 is Z - 1, zwischen(2,N1,N2), 0 is Z mod N2, !. primzahl(P) :- natZahl(P), P > 1, !, not(zerlegbar(P)). % ein Primzahlenerzeuger; der CUT bewirkt, dass jede Zahl nur einmal getestet wird natZahl(0). natZahl(X) :- natZahl(Y), X is Y + 1. zwischen(A,B,A) :- A =< B. zwischen(A,B,C) :- A < B, A1 is A + 1, zwischen(A1,B,C). gerade(0). gerade(X):- natZahl(X), 0 is X mod 2. /* Formel fuer die Goldbachsche Vermutung - ungeheure Rechenzeit schon bei kleinen Zahlen */ goldbach(X,Y,Z):- gerade(X), primzahl(Y), primzahl(Z), X is Y + Z.