list_length/2 — lungimea unei liste
Scrieți un predicat list_length/2 care determină lungimea unei liste primită ca prim argument.
?- list_length([1, 2, []], X).
X = 3
Hint: cazul de bază — lista vidă, lungimea 0. Cazul recursiv —
list_length(T, LengthTail), Length is LengthTail + 1.
Te-ai blocat?
editor
soluție
list_length([], 0).
list_length([_ | T], Length) :-
list_length(T, LengthTail),
Length is LengthTail + 1.
?-
Tastează o interogare (ex. father_of(sandra, X).) și apasă Enter — sau apasă pe un caz de test de mai jos.
Cazuri de test (3 — apasă pe unul ca să îl rulezi, sau Verifică pentru toate)
?
list_length([1, 2, []], X).
așteptat: X = 3
?
list_length([], X).
așteptat: X = 0
?
list_length([a, b, c, d, e], X).
așteptat: X = 5