Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Prolog > Пролог Д списки


Автор: qsxesz 8.2.2013, 18:15
задача:загрузить набор грузов, заданный списком весов грузов в несколько одинаковых грузовиков.
Код Prolog
select(a,[a|B],B).
select(x,[a|B],[a|C]):-select(x,B,C).

gruz(A,B,C,D):-gruz1(A,B,B,C,D).

gruz1([],_,_,_,[]).
gruz1(L,c,f,n,[a|D]):-select(a,L,M),
НЕ(БОЛЬШЕ(a,c)),gruz1(M,#c-a#,f,n,D).
gruz1(L,_,f,n,["|"|D]):-БОЛЬШЕ(n,0),gruz1(L,f,f,#n-1#,D).

?gruz([17,13,9,7,4,3,2,5,6,3,1],20,4,V),!.


вызов([список масс грузов], грузоподъемность, количество грузовиков, %ответ%)

тут четыре грузовика,а как сделать чтобы грузовики тоже как и грузы задавались списком?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)