0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 13
1

GUI Prolog - найти все возможные способы полной упаковки рюкзака

30.03.2013, 20:32. Показов 927. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите написать программу на прологе.
Даны набор элементов багажа разного веса (в виде списка) и грузоподъемность рюкзака. Найти все возможные способы полной упаковки рюкзака.

Есть начало.
Для заданных фактов:
Prolog
1
2
3
4
5
6
p(molotok,1).
p(palatka,3).
p(verevka,2).
 
z(N,[A]):-p(A,W), N2=N-W, N2>=0.     
z(N,[A|Tail]):-N>0,p(A,W),N1=N-W,z(N1,Tail).
N - вес рюкзака.

выводит элементы, которые можно положить (не больше веса рюкзака).
Нужно, чтобы была полная загрузка. И варианты не повторялись (в одном варианте не было два молотка к примеру).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2013, 20:32
Ответы с готовыми решениями:

Создание сайта на Wordpress. Все возможные способы
Доброго времени суток ув. Форумчане. Хочу писать/делать/создавать сайты на Wordpress. Но у меня...

Вывести на экран все возможные различные способы представления числа в виде суммы натуральных чисел
Дано натуральное число N. Требуется получить и вывести на экран все возможные различные способы...

Логическая задача на Turbo prolog или Gui prolog
Может у кого есть исходни на Prolog ЗЫ заранее спаисбо)

Локальная сеть между 2 зданиями (Возможные способы реализации)
Здравствуйте Уважаемые форумчане. Есть задача объединить 2 здания в ЛВС. Сеть проводная....

4
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
31.03.2013, 13:46 2
Prolog
1
2
3
4
5
6
7
p(molotok,1).
p(palatka,3).
p(verevka,2).
 
z(N,[A]):-p(A,N).
z(N,[A,B|Tail]):-N>0, p(A,W), N1 is N-W,
    z(N1,[B|Tail]), compare(<,A,B).
На свой диалект самостоятельно переведите. Первое правило изменено для полной запаковки. A<B сделано, что бы не просто двух молотков не было, а что бы и не были одинаковые раскладки в разном порядке.
0
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 13
31.03.2013, 15:01  [ТС] 3
Спасибо. Но это работает, только если сумма элементов совпадает с весом рюкзака. Напр: z(4,X).
X = [molotok,palatka] .
Если введу : z(10,X). выведет no
0
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
31.03.2013, 15:11 4
Тогда не поняла, что означает "полная" упаковка, если 10 вообще невозможно полностью упаковать. Если устраивает не полная упаковка, то верните первое правила.
0
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 13
31.03.2013, 15:58  [ТС] 5
если предположим грузоподъемность рюкзака 10 , то туда можно положить и палатку и молоток и веревку., так как все войдет.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2013, 15:58
Помогаю со студенческими работами здесь

Найти все возможные перестановки
Условие задачи состоит в том что у нас есть кинотеатр, и там показывают 3 фильма &quot;1&quot;, &quot;2&quot;, &quot;3&quot;....

Найти все возможные комбинации
Есть строка, к примеру . Где первая цифра в ячейке это номер предмета, а после запятой позиция....

Найти все возможные подстроки в строке
Найти все возможные подстроки в строке начиная с конца.

Найти все возможные перестановки цифр
дано 6-розрядное число...надо найти все возможные перестановки цыфр...как ето...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru