Пролог Программа, чтобы проверить, простое ли число
Я написал следующую программу, основанную на логике, что простое число делится только на 1 и на себя. Поэтому я просто делю процесс деления на все числа, которые больше одного и меньше его самого, но у меня, похоже, есть проблема, поскольку я получаю все введенные числа как истинные. Вот мой код ...
divisible(X,Y) :-
Y < X,
X mod Y is 0,
Y1 is Y+1,
divisible(X,Y1).
isprime(X) :-
integer(X),
X > 1,
\+ divisible(X,2).
Заранее спасибо :)