Нахождение совпадающих элементов в двух списках - Prolog

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

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

Здравствуйте, начала изучение Prolog. Помогите, пожалуйста, разобраться с задачей: "Нахождение совпадающих элементов в двух списках" . Для конкретного примера: list([a,b,c,d,e,k], [a,c,b,d,k,k],[a,d,k]) - третий список - результат. (т.е. выводит одинаковые буквы, у которых совпадают порядковые номера в списках). сделала объединение двух списков, а как дальше не знаю. list([],L,L). list([H|T],L,[H|T1]):- list(T,L,T1).

Решение задачи: «Нахождение совпадающих элементов в двух списках»

textual
Листинг программы
% вариант 1 - логический
list1([], [], []).
list1([H | T1], [H | T2], [H | R]) :-
    list1(T1, T2, R).
list1([H1 | T1], [H2 | T2], R) :-
    H1 \= H2,
    list1(T1, T2, R).
 
% вариант 2 - практический
list2([], [], []).
list2([H | T1], [H | T2], [H | R]) :-
    !,
    list2(T1, T2, R).
list2([_ | T1], [_ | T2], R) :-
    list2(T1, T2, R).

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


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

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

15   голосов , оценка 3.867 из 5
Похожие ответы