Удалить из списка все элементы, равные последнему; найти длину полученного списка - 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.

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


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

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

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