Удалить из списка все элементы, равные последнему; найти длину полученного списка - Prolog
Формулировка задачи:
Помогите реализовать.Создайте список и Удалите из списка все элементы, равные последнему, найдите длину оставшегося списка;
Получилось так,но это не то что мне нужно,подскажите как сделать именно по заданию? Что бы был один список и из него удалить все элементы равные последнему и посчитать длину списка?
ПОлучилось такой код сделать,но все равно не пойму как реализовать удаление элемента и потом выведение суммы списка
Решение задачи: «Удалить из списка все элементы, равные последнему; найти длину полученного списка»
textual
Листинг программы
len_del_last2(Xs, Ys, Len) :- len_del_last2(Xs, _Z, Ys, Len). len_del_last2([X], X, [], 0). len_del_last2([X, Y | Xs], Z, Ys1, Len1) :- len_del_last2([Y | Xs], Z, Ys, Len), len_del_last2_gen(X, Z, Ys, Ys1, Len, Len1). len_del_last2_gen(X, X, Ys, Ys, Len, Len). len_del_last2_gen(X, Z, Ys, [X | Ys], Len, Len1) :- X \= Z, Len1 is Len + 1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д