Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
したがって、入力がL=[1,[2,3,4],5]の場合、出力はR = [4,5]になります。通常のリストの最後の要素のコードは
last([X],X]. last([H|T],X):-last(T,X).
これは正確にはエレガントなプロローグではありませんが、あなたが望むことをすると思います:
deeplast([L], X) :- deeplast(L, X). deeplast([X], X) :- atomic(X). deeplast([H|T], X) :- atomic(H), deeplast(T, X). deeplast([H|T], X) :- compound(H), deeplast(H, Y), deeplast(T, Z), X = [Y, Z].