Нам нужно написать пролог-пролог neighbors(X,Y,L)
, который является истинным, если L
- это список, а X
и Y
являются соседними элементами в списке. До сих пор я писал:(Пролог) Поиск соседей в списке
neighbors(X,X,[X]).
neighbors(X,Y,[X,Y|R]):- neighbors(X,Y,R).
neighbors(X,Y,[Y,X|R]):- neighbors(X,Y,R).`
но выход всегда будет давать (очевидно) пустые скобки («[]
») независимо от входных данных. Можете ли вы, ребята, дать мне несколько советов о том, как улучшить этот предикат? Мы недавно начали с Пролога, поэтому мне по-прежнему нужна практика.
Что идея 'соседей (X, X, [X])'.? Это кажется мне чем-то странным. Пожалуйста, объясни! – repeat