How to Find Sum of Digit in prolog.
sumofdigits(X, X):-
X < 10.
sumofdigits(X, Y):-
X > 9, Y1 is X mod 10, X1 is X // 10, sumofdigits(X1, Z), Y is Y1 + Z.
X < 10.
sumofdigits(X, Y):-
X > 9, Y1 is X mod 10, X1 is X // 10, sumofdigits(X1, Z), Y is Y1 + Z.
How to Find Sort in prolog.
sort(A,B) :- permute(A,B), ordered(B).
How to Find Reverse in prolog.
reverse([ ],[ ]).
reverse([H|T],R) :- reverse(T,S), append(S,[H],R).
reverse([H|T],R) :- reverse(T,S), append(S,[H],R).
How to Find Prime in prolog.
divisible(X, Y):-
N is Y*Y, N =< X, X mod Y =:= 0.
divisible(X, Y):-
Y < X, Y1 is Y + 1, divisible(X, Y1).
isprime(X):-
Y is 2, X > 1 , \+divisible(X, Y).
N is Y*Y, N =< X, X mod Y =:= 0.
divisible(X, Y):-
Y < X, Y1 is Y + 1, divisible(X, Y1).
isprime(X):-
Y is 2, X > 1 , \+divisible(X, Y).
How to Find Permutation in prolog.
del(X,[X|L1],L1).
del(X,[Y|L1],[Y|L2]):-
del(X,L1,L2).
permute([],[]).
permute(L,[X|P]):-
del(X,L,L1),
permute(L1,P).
del(X,[Y|L1],[Y|L2]):-
del(X,L1,L2).
permute([],[]).
permute(L,[X|P]):-
del(X,L,L1),
permute(L1,P).
How to Find Parser in prolog.
s --> np, vp.
vp --> v, np.
np --> det, n.
det --> [].
det --> [the].
n --> [sandy].
n --> [egg].
n --> [duck].
v --> [ate].
v --> [saw].
vp --> v, np.
np --> det, n.
det --> [].
det --> [the].
n --> [sandy].
n --> [egg].
n --> [duck].
v --> [ate].
v --> [saw].
How to Find Odd and Even element in prolog.
even(0).
even(s(s(X))):-even(X).
odd(s(0)).
odd(s(s(X))):-odd(X).
even(s(s(X))):-even(X).
odd(s(0)).
odd(s(s(X))):-odd(X).
How to Find nth element in prolog.
find([],N) :-
write("There is no such element in the list"),nl.
find([Element|List],1) :-
write("The element is ",Element),nl.
find([Element|List],N) :-
N1 = N-1,
find(List,N1).
write("There is no such element in the list"),nl.
find([Element|List],1) :-
write("The element is ",Element),nl.
find([Element|List],N) :-
N1 = N-1,
find(List,N1).
How to Find mergesort in prolog.
mergesort([], []).
mergesort([A], [A]).
mergesort([A, B | Rest], S) :-
divide([A, B | Rest], L1, L2),
mergesort(L1, S1),
mergesort(L2, S2),
my_merge(S1, S2, S).
divide([], [], []).
divide([A], [A], []).
divide([A, B | R], [A | Ra], [B | Rb]) :- divide(R, Ra, Rb).
my_merge(A, [], A).
my_merge([], B, B).
my_merge([A | Ra], [B | Rb], [A | M]) :-
A =< B,
my_merge(Ra, [B | Rb], M).
my_merge([A | Ra], [B | Rb], [B | M]) :-
A > B,
my_merge([A | Ra], Rb, M).
mergesort([A], [A]).
mergesort([A, B | Rest], S) :-
divide([A, B | Rest], L1, L2),
mergesort(L1, S1),
mergesort(L2, S2),
my_merge(S1, S2, S).
divide([], [], []).
divide([A], [A], []).
divide([A, B | R], [A | Ra], [B | Rb]) :- divide(R, Ra, Rb).
my_merge(A, [], A).
my_merge([], B, B).
my_merge([A | Ra], [B | Rb], [A | M]) :-
A =< B,
my_merge(Ra, [B | Rb], M).
my_merge([A | Ra], [B | Rb], [B | M]) :-
A > B,
my_merge([A | Ra], Rb, M).
How to Find Maximum and minimum in prolog.
max(A,B,C):-
A>B,
A>C,
write(A).
max(A,B,C):-
A>B,
write(C).
max(_,B,C):-
B>C,
write(B).
max(_,_,C):-
write(C).
min(A,B,C):-
A
A
write(A).
min(A,B,C):-
A
write(C).
min(_,B,C):-
B
write(B).
min(_,_,C):-
write(C).
maxmin(A,B,C):-
max(A,B,C),
min(A,B,C).
A>B,
A>C,
write(A).
max(A,B,C):-
A>B,
write(C).
max(_,B,C):-
B>C,
write(B).
max(_,_,C):-
write(C).
min(A,B,C):-
A
A
write(A).
min(A,B,C):-
A
write(C).
min(_,B,C):-
B
write(B).
min(_,_,C):-
write(C).
maxmin(A,B,C):-
max(A,B,C),
min(A,B,C).
How to Find list length in prolog.
listlength([ ],0).
listlength([_|T],N) :- listlength(T,M), N is 1+M.
listlength([_|T],N) :- listlength(T,M), N is 1+M.
How to Find last element in prolog.
last([X]):-
write("\nLast element is : "),
write(X).
last([Y|Tail]):-
last(Tail).
write("\nLast element is : "),
write(X).
last([Y|Tail]):-
last(Tail).
How to Find LCM prolog.
lcm(A,B,LCM):-
LCM=A*B/GCD.
lcm(A,B):-
gcd(A,B,GCD) :- A = B, GCD = A.
gcd(A,B,GCD) :- A < B, NB is B - A, gcd(A,NB,GCD).
gcd(A,B,GCD) :- A > B, NA is A - B, gcd(NA,B,GCD).
LCM=A*B/GCD.
lcm(A,B):-
gcd(A,B,GCD) :- A = B, GCD = A.
gcd(A,B,GCD) :- A < B, NB is B - A, gcd(A,NB,GCD).
gcd(A,B,GCD) :- A > B, NA is A - B, gcd(NA,B,GCD).
No comments:
Post a Comment