Как численно ограничить рекурсивный цикл? [Visual Prolog]

Узнай цену своей работы

Формулировка задачи:

Делаю лабораторную работу, уже почти закончил, но не получается сделать так чтобы цикл остановился на заданном числе, вот что имеется:
после 106 он уходит дальше 107, 108 и т.д. Кого интересует, задание лабораторной работы: "Напечатать в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр"

Решение задачи: «Как численно ограничить рекурсивный цикл? [Visual Prolog]»

textual
Листинг программы
prov(N):-
  (((N mod 10) - ((N div 10) mod 10)) * (((N div 10) mod 10) - (N div 100)) * ((N mod 10) - (N div 100))) >< 0.
 
procces(999,[]) :- !.
procces(N, [N|Rest]) :-
  prov(N),
  !,
  N1 = N + 1,
  procces(N1, Rest).
procces(N, Rest):-
  N1 = N + 1,
  procces(N1, Rest).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5