Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- divisibleForPrime(X,Y) :-
- 0 is mod(X, Y), !.
- divisibleForPrime(X,Y) :-
- X > Y+1,
- divisible(X, Y+1).
- divisible(X,Y) :-
- 0 is mod(X, Y).
- isPrime(2) :-
- true.
- isPrime(X) :-
- X < 2.
- isPrime(X) :-
- not(divisibleForPrime(X, 2)).
- writePrimes(X,Y,[]):-
- X is Y, !.
- writePrimes(X, Y, [N|WYNIK]) :-
- N is Y + 1,
- isPrime(N),
- divisible(X, N),
- X1 is X//N,
- writePrimes(X1, WYNIK).
- writePrimes(X, Y, WYNIK) :-
- N is Y + 1,
- isPrime(N),
- not(divisible(X, N)),
- writePrimes(X, N, WYNIK).
- writePrimes(X, Y, WYNIK) :-
- N is Y + 1,
- not(isPrime(N)),
- writePrimes(X, N, WYNIK).
- writePrimes(X, O) :-
- Y is 1,
- writePrimes(X, Y, O).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement