Tuesday, 15 May 2012

Write a prolog program to check for palindrome number.


domains


    list=symbol*


    
predicates


    palin(list)
    findrev(list,list,list)
    compare(list,list)


    
clauses


    palin(List1):-
        findrev(List1,[],List2),
        compare(List1,List2).
            
    findrev([],List1,List1).
    
    findrev([X|Tail],List1,List2):-
        findrev(Tail,[X|List1],List2).
        
    compare([],[]):-
        write("\nList is Palindrome\n").
        
    compare([X|List1],[X|List2]):-
        compare(List1,List2).    
        
    compare([X|List1],[Y|List2]):-
        write("\nList is not Palindrome\n").

0 comments

 
© 2011-2012 ProgrammingBlue
Posts RSS Comments RSS
Back to top