Question: Write a function in SWI Prolog programming language named palindrome, that takes a list as input and returns the original list if the list is
Write a function in SWI Prolog programming language named "palindrome", that takes a list as input and returns the original list if the list is a palindrome, ie reads the same in both directions, and otherwise returns the original list made into a palindrome by reversing it and appending it to itself, but not replicating the last element. Here is a sample run:
?- palindrome([a,b,[c,d],e],X).
X=[a,b,[c,d],e,[d,c],b,a]
?- palindrome([a,[b,c,[d]],[[d],c,b],a],X).
X=[a,[b,c,[d]],[[d],c,b],a]
?-
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
