Конверт(Пролог) - Prolog
Формулировка задачи:
нарисовать конверт, не отрывая карандаша от бумаги и не проводя два раза по одной и той же линии.
Помогите плиз.Полный ноль в прологе.Находит 44 решения,но решения неправильные.
Листинг программы
- include "konvert.inc"
- domains
- il=integer*
- predicates
- nondeterm duga(integer,integer)
- nondeterm rebro(integer,integer)
- nondeterm path(integer,il,il,integer)
- gett(integer,integer,il)
- clauses
- duga(1,2).
- duga(1,3).
- duga(2,3).
- duga(2,4).
- duga(2,5).
- duga(3,4).
- duga(3,5).
- duga(4,5).
- rebro(A,B):- duga(A,B).
- rebro(A,B):- duga(B,A).
- path(_,Path,Path,8):- !.
- path(A,Stec,Path,K):- rebro(A,B), not(gett(A,B,Stec)),
- K1=K+1,
- path(B,[A,B|Stec],Path,K1).
- gett(A,B,[A,B|_]):- !.
- gett(A,B,[B,A|_]):- !.
- gett(A,B,[_,_|Stec]):- gett(A,B,Stec).
- goal
- path(4,[],Pyt,0).
Решение задачи: «Конверт(Пролог)»
textual
Листинг программы
- 4-5, 5-2, 2-3, 3-4, 4-2, 2-1, 1-3, 3-5
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д