palindrome/1 — verifică palindrom
Verificați dacă un șir de caractere primit ca intrare, și reprezentat ca un atom, este palindrom sau nu.
?- palindrome(prolog).
false
?- palindrome(ele).
true
Hint:
string_chars/2transformă atomul într-o listă de caractere,reverse/2o inversează, apoi==compară structural.
Te-ai blocat?
editor
soluție
palindrome(Str) :-
string_chars(Str, ListChars),
reverse(ListChars, ReversedList),
ListChars == ReversedList.
?-
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)
?
palindrome(ele).
așteptat: true
?
palindrome(prolog).
așteptat: false
?
palindrome(abba).
așteptat: true