2013-11-26 3 views
0

Мне нужно получить с клавиатуры вход (список) список без дубликатов, но без использования встроенного setof (или любых других встроенных функций) в прологе XSB.XSB Prolog: напишите мою собственную функцию set

Как написать собственную функцию setof?

Ввод и вывод должен выглядеть следующим образом:

|?-list([a,b,c,d,a,b,c,d,e,f],L). 

L=[a,b,c,d,e,f]; 

Спасибо заранее.

+2

'list (A, B): - sort (A, B) .' – CapelliC

+0

Я обновил сообщение, мы не можем использовать какие-либо встроенные функции, которые ставят сортировку из equasion. – user3033489

+0

вы как писать член/2 ? – CapelliC

ответ

1

Использование члена/2 настолько просто: просто сделайте копию каждого элемента, с рекурсивным списком/2, проверив головку списка входных данных еще не в списке целей. Проверка может быть выполнена членом/2, вам нужно будет написать свой собственный ... Вся программа должна быть 4 строки кода.

Смежные вопросы