@MajorTom69

Как генерировать последовательность вида «0, 1, -1, 2, -2, 3, -3...» в Prolog?

Надо генерировать элементы такой вот последовательности "0, 1, -1, 2, -2, 3, -3...". Дошел только до этого, но результат крашится:
num(1).
num(X) :- num(Y), X is -Y, X < 0.
num(X) :- num(Y), X is -Y + 1, X > 0.

вывод:
?- num(X).
X = 1 ;
X = -1 ;
ERROR: Out of local stack
   Exception: (1,763,389) num(_6002) ?

Прошу помощи, ибо уже закипел.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
Вот тут последний ответ объясняет почему это не работает и показывает варианты решения:
https://stackoverflow.com/questions/19979548/predi...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы